Physical activity and workout monitor

ABSTRACT

The present disclosure relates to devices and processes for monitoring attributes of a user&#39;s physical activity (e.g., workout) or inactivity, and to user interfaces (e.g., an activity indicator) for displaying the same. In some examples, a device determines whether physical activity corresponds to a first type based on a first set of criteria, and whether physical activity corresponds to a second type based on a second set of criteria. In some examples, the device controls an inactivity timer that measures user&#39;s inactivity. In some examples, the device displays a first visual representation of an attribute or amount of a first type of physical activity, and a second visual representation of an attribute or amount of a second type. In some examples, the device displays a third visual representation of an attribute or amount of a third type of activity. In some examples, the third visual representation corresponds to user&#39;s inactivity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/044,990, entitled “PHYSICAL ACTIVITY AND WORKOUT MONITOR,” filedSep. 2, 2014, and U.S. Provisional Patent Application No. 62/129,828,entitled “PHYSICAL ACTIVITY AND WORKOUT MONITOR,” filed Mar. 7, 2015,the content of each of which is hereby incorporated by reference intheir entirety for all purposes.

FIELD

The following disclosure relates generally to a health monitor and, morespecifically, to a physical activity and workout monitor.

BACKGROUND

Approximately 133 million Americans currently suffer from at least onechronic health condition. This number is expected to rise toapproximately 165 million by the year 2020. This deterioration in healthcan be attributed largely to a sedentary lifestyle with little to nophysical activity. For example, lack of sufficient physical activity canincrease the risk of developing diabetes, hypertension, colon cancer,depression and anxiety, obesity, and weak muscles and bones. Inaddition, recent studies have found that extended periods of inactivity(e.g., sitting at a desk), can lead to serious health risks, such as anincreased risk of a heart attack.

SUMMARY

The present disclosure relates to systems and processes for monitoringattributes of a user's physical activity or inactivity, and forgenerating user interfaces for displaying the same. One example userinterface can include a first indicator that represents an attribute ofa user's physical activity that is of a first type and a secondindicator that represents an attribute of a user's physical activitythat is of a second type. The first type of physical activity can be aphysical activity that meets a first set of criteria and the second typeof physical activity can be a physical activity that meets a second setof criteria. The user interface can further include a third indicatorthat represents an attribute of a user's inactivity, which can includethe user not performing a specified type of physical activity or notperforming a physical activity that meets a third set of criteria.

The present disclosure also relates to systems and processes formonitoring a user's workout, and for generating user interfaces fordisplaying the same. One example process can include monitoring a user'sphysical activity during a workout (e.g., a session of physical activityor exercise) using activity sensors selected based on the type ofworkout. The process can further include generating a user interface fordisplaying one or more attributes of the workout. One example userinterface can include a first indicator (e.g., a visual representation)that represents a first attribute of the workout and a second indicator(e.g., a visual representation) that represents a second attribute ofthe workout. The process can further include providing notificationsduring the workout to notify the user of significant events associatedwith the workout.

In some embodiments, an electronic device comprises: a sensor configuredto detect movement associated with the electronic device and generateactivity data based on the detected movement; a display; anon-transitory computer readable storage medium comprising instructionsfor: determining that a physical activity has been performed by a userwearing the electronic device, based on the activity data received fromthe sensor; determining whether the physical activity corresponds to afirst type based on a first set of criteria and determining whether thephysical activity corresponds to a second type based on a second set ofcriteria; in response to determining that the physical activitycorresponds to the first type, updating a first value stored in a memorybased on the activity data; in response to determining that the physicalactivity corresponds to the second type, updating a second value storedin the memory based on the activity data; displaying a first indicatorrepresentative of the first value, the first value representing anaggregate amount of the first type of physical activity detected fromthe sensor over a period of time, and displaying a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and one or more processorsoperatively coupled to the sensor, the non-transitory computer readablestorage medium, and the display, wherein the one or more processors arecapable of executing the instructions of the non-transitorycomputer-readable storage medium.

In some embodiments, a computer-implemented method comprises:determining, using one or more processors, that a physical activity hasbeen performed by a user wearing an electronic device, based on activitydata generated by a sensor of the electronic device; determining whetherthe physical activity corresponds to a first type based on a first setof criteria and determining whether the physical activity corresponds toa second type based on a second set of criteria; in response todetermining that the physical activity corresponds to the first type,updating a first value, stored in a memory device, based on the activitydata; in response to determining that the physical activity correspondsto the second type, updating a second value, stored in the memorydevice; and displaying the first value representing an aggregate amountof the first type of physical activity detected from the sensor over aperiod of time, and displaying the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time.

In some embodiments, an electronic device comprises: means fordetermining that a physical activity has been performed by a userwearing an electronic device based on activity data generated by asensor of the electronic device; means for determining whether thephysical activity corresponds to a first type based on a first set ofcriteria and determining whether the physical activity corresponds to asecond type based on a second set of criteria; means for updating, inresponse to determining that the physical activity corresponds to thefirst type, a first value stored in a memory device based on theactivity data; means for updating, in response to determining that thephysical activity corresponds to the second type, a second value storedin the memory device; and means for displaying the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time, and displaying thesecond value representing an aggregate amount of the second type ofphysical activity detected from the sensor over the period of time.

In some embodiments, an electronic device comprises: a sensor unitconfigured to detect movement associated with the electronic device andgenerate activity data based on the detected movement; a memory unitconfigured to store values; a display unit configured to display graphicobjects; and a processing unit coupled to the sensor unit, the memoryunit, and the display unit, the processing unit configured to: determinethat a physical activity has been performed by a user wearing theelectronic device, based on activity data generated by the sensor unit;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determine whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, update a first value, stored in a memory unit, based on theactivity data; in response to determining that the physical activitycorresponds to the second type, update a second value, stored in thememory unit; and enable display, on the display unit, of the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor unit over a period of time, and enable display,on the display unit, of the second value representing an aggregateamount of the second type of physical activity detected from the sensorunit over the period of time.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: determining, using one or more processors, that a physical activityhas been performed by a user wearing an electronic device, based onactivity data generated by a sensor of the electronic device;determining whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, updating a first value, stored in a memory device, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, updating a second value, stored in thememory device; and displaying the first value representing an aggregateamount of the first type of physical activity detected from the sensorover a period of time, and displaying the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: determine that a physicalactivity has been performed by a user wearing an electronic device,based on activity data generated by a sensor of the electronic device;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, updating a first value, store in a memory device, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, updating a second value, stored in thememory device; and display the first value representing an aggregateamount of the first type of physical activity detected from the sensorover a period of time, and display the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: determine that a physicalactivity has been performed by a user wearing an electronic device,based on activity data generated by a sensor of the electronic device;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, updating a first value, store in a memory device, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, updating a second value, stored in thememory device; and display the first value representing an aggregateamount of the first type of physical activity detected from the sensorover a period of time, and display the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time.

In some embodiments, a computer-implemented method comprises: receiving,from a sensor, activity data that is representative of physical activityperformed by a user detected by the sensor; controlling an inactivitytimer that measures a length of time that the user is inactive based onthe activity data, wherein controlling the inactivity timer comprisesresetting a value of the inactivity timer in response to determining,based on the activity data, that the user has performed a thresholdamount of activity; and displaying an inactivity tracking interface,wherein the inactivity tracking interface comprises a visualrepresentation of the value of the inactivity timer.

In some embodiments, an electronic device comprises: means forreceiving, from a sensor, activity data that is representative ofphysical activity performed by a user detected by the sensor; means forcontrolling an inactivity timer that measures a length of time that theuser is inactive based on the activity data, wherein controlling theinactivity timer comprises resetting a value of the inactivity timer inresponse to determining, based on the activity data, that the user hasperformed a threshold amount of activity; and means for displaying aninactivity tracking interface, wherein the inactivity tracking interfacecomprises a visual representation of the value of the inactivity timer.

In some embodiments, an electronic device comprises: a sensor unitconfigured to detect movement associated with the electronic device andgenerate activity data based on the detected movement; a display unitconfigured to display graphic objects; and a processing unit coupled tothe sensor unit and the display unit, the processing unit configured to:receive, from the sensor unit, activity data that is representative ofphysical activity performed by a user detected by the sensor unit;control an inactivity timer that measures a length of time that the useris inactive based on the activity data, wherein controlling theinactivity timer comprises resetting a value of the inactivity timer inresponse to determining, based on the activity data, that the user hasperformed a threshold amount of activity; and enable display, on thedisplay unit, of an inactivity tracking interface, wherein theinactivity tracking interface comprises a visual representation of thevalue of the inactivity timer.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: receiving, from a sensor, activity data that is representative ofphysical activity performed by a user detected by the sensor;controlling an inactivity timer that measures a length of time that theuser is inactive based on the activity data, wherein controlling theinactivity timer comprises resetting a value of the inactivity timer inresponse to determining, based on the activity data, that the user hasperformed a threshold amount of activity; and displaying an inactivitytracking interface, wherein the inactivity tracking interface comprisesa visual representation of the value of the inactivity timer.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive, from a sensor, activitydata that is representative of physical activity performed by a userdetected by the sensor; control an inactivity timer that measures alength of time that the user is inactive based on the activity data,wherein controlling the inactivity timer comprises resetting a value ofthe inactivity timer in response to determining, based on the activitydata, that the user has performed a threshold amount of activity; anddisplay an inactivity tracking interface, wherein the inactivitytracking interface comprises a visual representation of the value of theinactivity timer.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive, from a sensor, activitydata that is representative of physical activity performed by a userdetected by the sensor; control an inactivity timer that measures alength of time that the user is inactive based on the activity data,wherein controlling the inactivity timer comprises resetting a value ofthe inactivity timer in response to determining, based on the activitydata, that the user has performed a threshold amount of activity; anddisplay an inactivity tracking interface, wherein the inactivitytracking interface comprises a visual representation of the value of theinactivity timer.

In some embodiments, computer-implemented method comprises: determining,using one or more processors, that a physical activity has beenperformed by a user wearing an electronic device, based on activity datagenerated by a sensor of the electronic device; determining whether thephysical activity corresponds to a first type based on a first set ofcriteria and determining whether the physical activity corresponds to asecond type based on a second set of criteria; in response todetermining that the physical activity corresponds to the first type,updating a first value, stored in a memory device, based on the activitydata; in response to determining that the physical activity correspondsto the second type, updating a second value, stored in the memorydevice, based on the activity data; controlling an inactivity timer thatmeasures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises:resetting a value of the inactivity timer in response to determining,based on the activity data, that the user has performed a thresholdamount of activity; incrementing the value of an inactivity counter inresponse to the value of the inactivity timer reaching an inactivitythreshold; and resetting the value of the inactivity timer in responseto the value of the inactivity timer reaching an inactivity threshold;and displaying: a first indicator representative of the first value, thefirst value representing an aggregate amount of the first type ofphysical activity detected from the sensor over a period of time; asecond indicator representative of the second value, the second valuerepresenting an aggregate amount of the second type of physical activitydetected from the sensor over the period of time; and a third indicatorrepresentative of the value of the inactivity counter.

In some embodiments, an electronic device comprises: means fordetermining, using one or more processors, that a physical activity hasbeen performed by a user wearing an electronic device, based on activitydata generated by a sensor of the electronic device; means fordetermining whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;means for updating, in response to determining that the physicalactivity corresponds to the first type, a first value stored in a memorydevice based on the activity data; means for updating, in response todetermining that the physical activity corresponds to the second type, asecond value stored in the memory device based on the activity data;means for controlling an inactivity timer that measures a length of timethat the user is inactive based on the activity data, whereincontrolling the inactivity timer comprises: resetting a value of theinactivity timer in response to determining, based on the activity data,that the user has performed a threshold amount of activity; incrementingthe value of an inactivity counter in response to the value of theinactivity timer reaching an inactivity threshold; and resetting thevalue of the inactivity timer in response to the value of the inactivitytimer reaching an inactivity threshold; and means for displaying: afirst indicator representative of the first value, the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time; a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and a third indicator representativeof the value of the inactivity counter.

In some embodiments, an electronic device comprises: a sensor unitconfigured to detect movement associated with the electronic device andgenerate activity data based on the detected movement; a memory unitconfigured to store values; a display unit configured to display graphicobjects; and a processing unit coupled to the sensor unit, the memoryunit, and the display unit, the processing unit configured to: determinethat a physical activity has been performed by a user wearing theelectronic device, based on activity data generated by the sensor unit;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determine whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, update a first value, stored in the memory unit, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, update a second value, stored in thememory unit, based on the activity data; control an inactivity timerthat measures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises:resetting a value of the inactivity timer in response to determining,based on the activity data, that the user has performed a thresholdamount of activity; incrementing the value of an inactivity counter inresponse to the value of the inactivity timer reaching an inactivitythreshold; and resetting the value of the inactivity timer in responseto the value of the inactivity timer reaching an inactivity threshold;and enable display, on the display unit, of: a first indicatorrepresentative of the first value, the first value representing anaggregate amount of the first type of physical activity detected fromthe sensor over a period of time; a second indicator representative ofthe second value, the second value representing an aggregate amount ofthe second type of physical activity detected from the sensor over theperiod of time; and a third indicator representative of the value of theinactivity counter.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: determining that a physical activity has been performed by a userwearing an electronic device, based on activity data generated by asensor of the electronic device; determining whether the physicalactivity corresponds to a first type based on a first set of criteriaand determining whether the physical activity corresponds to a secondtype based on a second set of criteria; in response to determining thatthe physical activity corresponds to the first type, updating a firstvalue, stored in a memory device, based on the activity data; inresponse to determining that the physical activity corresponds to thesecond type, updating a second value, stored in the memory device, basedon the activity data; controlling an inactivity timer that measures alength of time that the user is inactive based on the activity data,wherein controlling the inactivity timer comprises: resetting a value ofthe inactivity timer in response to determining, based on the activitydata, that the user has performed a threshold amount of activity;incrementing the value of an inactivity counter in response to the valueof the inactivity timer reaching an inactivity threshold; and resettingthe value of the inactivity timer in response to the value of theinactivity timer reaching an inactivity threshold; and displaying: afirst indicator representative of the first value, the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time; a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and a third indicator representativeof the value of the inactivity counter.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: determine that a physicalactivity has been performed by a user wearing an electronic device,based on activity data generated by a sensor of the electronic device;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, updating a first value, store in a memory device, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, update a second value, stored in thememory device, based on the activity data; control an inactivity timerthat measures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises: reseta value of the inactivity timer in response to determining, based on theactivity data, that the user has performed a threshold amount ofactivity; increment the value of an inactivity counter in response tothe value of the inactivity timer reaching an inactivity threshold; andreset the value of the inactivity timer in response to the value of theinactivity timer reaching an inactivity threshold; and display: a firstindicator representative of the first value, the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time; a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and a third indicator representativeof the value of the inactivity counter.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: determine that a physicalactivity has been performed by a user wearing an electronic device,based on activity data generated by a sensor of the electronic device;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, updating a first value, store in a memory device, based onthe activity data; in response to determining that the physical activitycorresponds to the second type, update a second value, stored in thememory device, based on the activity data; control an inactivity timerthat measures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises: reseta value of the inactivity timer in response to determining, based on theactivity data, that the user has performed a threshold amount ofactivity; increment the value of an inactivity counter in response tothe value of the inactivity timer reaching an inactivity threshold; andreset the value of the inactivity timer in response to the value of theinactivity timer reaching an inactivity threshold; and display: a firstindicator representative of the first value, the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time; a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and a third indicator representativeof the value of the inactivity counter.

In some embodiments, a computer-implemented method comprises: at one ormore processors of an electronic device: displaying an activityindicator, wherein the activity indicator comprises: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user over a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user over a period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user over a period of time;receiving, from a sensor of the electronic device, activity datarepresenting movement associated with the electronic device; andupdating the aggregate amount of the first type of physical activity,the aggregate amount of the second type of physical activity, and theaggregate amount of the third type of physical activity based on theactivity data.

In some embodiments, a system comprises: means for displaying anactivity indicator, wherein the activity indicator comprises: a firstindicator representative of an aggregate amount of a first type ofphysical activity performed by a user over a period of time; a secondindicator representative of an aggregate amount of a second type ofphysical activity performed by the user over a period of time; and athird indicator representative of an aggregate amount of a third type ofphysical activity performed by the user over a period of time; means forreceiving, from a sensor of the electronic device, activity datarepresenting movement associated with the electronic device; and meansfor updating the aggregate amount of the first type of physicalactivity, the aggregate amount of the second type of physical activity,and the aggregate amount of the third type of physical activity based onthe activity data.

In some embodiments, an electronic device comprises: a sensor unitconfigured to detect movement associated with the electronic device andgenerate activity data based on the detected movement; a display unitconfigured to display graphic objects; and a processing unit coupled tothe sensor unit and the display unit, the processing unit configured to:enable display, on the display unit, of an activity indicator, whereinthe activity indicator comprises: a first indicator representative of anaggregate amount of a first type of physical activity performed by auser over a period of time; a second indicator representative of anaggregate amount of a second type of physical activity performed by theuser over a period of time; and a third indicator representative of anaggregate amount of a third type of physical activity performed by theuser over a period of time; receive, from the sensor unit, activity datarepresenting movement associated with the electronic device; and updatethe aggregate amount of the first type of physical activity, theaggregate amount of the second type of physical activity, and theaggregate amount of the third type of physical activity based on theactivity data.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: displaying an activity indicator, wherein the activity indicatorcomprises: a first indicator representative of an aggregate amount of afirst type of physical activity performed by a user over a period oftime; a second indicator representative of an aggregate amount of asecond type of physical activity performed by the user over a period oftime; and a third indicator representative of an aggregate amount of athird type of physical activity performed by the user over a period oftime; receiving, from a sensor of the electronic device, activity datarepresenting movement associated with the electronic device; andupdating the aggregate amount of the first type of physical activity,the aggregate amount of the second type of physical activity, and theaggregate amount of the third type of physical activity based on theactivity data.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: display an activity indicator,wherein the activity indicator comprises: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user over a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user over a period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user over a period of time; receive,from a sensor of the electronic device, activity data representingmovement associated with the electronic device; and update the aggregateamount of the first type of physical activity, the aggregate amount ofthe second type of physical activity, and the aggregate amount of thethird type of physical activity based on the activity data.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: display an activity indicator,wherein the activity indicator comprises: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user over a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user over a period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user over a period of time; receive,from a sensor of the electronic device, activity data representingmovement associated with the electronic device; and update the aggregateamount of the first type of physical activity, the aggregate amount ofthe second type of physical activity, and the aggregate amount of thethird type of physical activity based on the activity data.

In some embodiments, an electronic device comprises: one or moreactivity sensors configured to detect movement associated with theelectronic device and generate activity data based on the detectedmovement; a display; a non-transitory computer readable storage mediumcomprising instructions for: receiving an identification of a type ofworkout to be performed, wherein the type of workout is associated witha plurality of workout attributes; receiving a goal for the type ofworkout, wherein the goal comprises an identification of a first workoutattribute of the plurality of workout attributes and a goal value forthe first workout attribute; determining a current value of the firstworkout attribute and a current value of a second workout attribute ofthe plurality of workout attributes based on activity data from at leasta portion of the one or more activity sensors; displaying: a display ofa first indicator representative of the current value of the firstworkout attribute relative to the goal value for the first workoutattribute; and a display of a second indicator representative of thecurrent value of the second workout attribute; and one or moreprocessors operatively coupled to the one or more activity sensors, thenon-transitory computer readable storage medium, and the display,wherein the one or more processors are capable of executing theinstructions of the non-transitory computer-readable storage medium.

In some embodiments, a computer-implemented method comprises: receivingan identification of a type of workout to be performed, wherein the typeof workout is associated with a plurality of workout attributes;receiving a goal for the type of workout, wherein the goal comprises anidentification of a first workout attribute of the plurality of workoutattributes and a goal value for the first workout attribute; determininga current value of the first workout attribute and a current value of asecond workout attribute of the plurality of workout attributes based onactivity data from one or more activity sensors; displaying a firstindicator representative of the current value of the first workoutattribute relative to the goal value for the first workout attribute;and displaying a second indicator representative of the current value ofthe second workout attribute.

In some embodiments, an electronic device comprises: means for receivingan identification of a type of workout to be performed, wherein the typeof workout is associated with a plurality of workout attributes; meansfor receiving a goal for the type of workout, wherein the goal comprisesan identification of a first workout attribute of the plurality ofworkout attributes and a goal value for the first workout attribute;means for determining a current value of the first workout attribute anda current value of a second workout attribute of the plurality ofworkout attributes based on activity data from one or more activitysensors; means for displaying a first indicator representative of thecurrent value of the first workout attribute relative to the goal valuefor the first workout attribute; and means for displaying a secondindicator representative of the current value of the second workoutattribute.

In some embodiments, an electronic device comprises: one or moreactivity sensor units configured to detect activity and generateactivity data based on the detected activity; a display unit configuredto display graphic objects; and a processing unit coupled to the one ormore sensor units and the display unit, the processing unit configuredto: receive an identification of a type of workout to be performed,wherein the type of workout is associated with a plurality of workoutattributes; receive a goal for the type of workout, wherein the goalcomprises an identification of a first workout attribute of theplurality of workout attributes and a goal value for the first workoutattribute; determine a current value of the first workout attribute anda current value of a second workout attribute of the plurality ofworkout attributes based on activity data from the one or more activitysensors units; enable display, on the display unit, of a first indicatorrepresentative of the current value of the first workout attributerelative to the goal value for the first workout attribute; and enabledisplay, on the display unit, of a second indicator representative ofthe current value of the second workout attribute.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: receiving an identification of a type of workout to be performed,wherein the type of workout is associated with a plurality of workoutattributes; receiving a goal for the type of workout, wherein the goalcomprises an identification of a first workout attribute of theplurality of workout attributes and a goal value for the first workoutattribute; determining a current value of the first workout attributeand a current value of a second workout attribute of the plurality ofworkout attributes based on activity data from one or more activitysensors; displaying a first indicator representative of the currentvalue of the first workout attribute relative to the goal value for thefirst workout attribute; and display a second indicator representativeof the current value of the second workout attribute.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive an identification of atype of workout to be performed, wherein the type of workout isassociated with a plurality of workout attributes; receive a goal forthe type of workout, wherein the goal comprises an identification of afirst workout attribute of the plurality of workout attributes and agoal value for the first workout attribute; determine a current value ofthe first workout attribute and a current value of a second workoutattribute of the plurality of workout attributes based on activity datafrom one or more activity sensors; display a first indicatorrepresentative of the current value of the first workout attributerelative to the goal value for the first workout attribute; and displaya second indicator representative of the current value of the secondworkout attribute.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive an identification of atype of workout to be performed, wherein the type of workout isassociated with a plurality of workout attributes; receive a goal forthe type of workout, wherein the goal comprises an identification of afirst workout attribute of the plurality of workout attributes and agoal value for the first workout attribute; determine a current value ofthe first workout attribute and a current value of a second workoutattribute of the plurality of workout attributes based on activity datafrom one or more activity sensors; display a first indicatorrepresentative of the current value of the first workout attributerelative to the goal value for the first workout attribute; and displaya second indicator representative of the current value of the secondworkout attribute.

In some embodiments, a computer-implemented method comprises: at one ormore processors of an electronic device: receiving historical activitydata representing physical activity performed by a user; and displayingan aggregated view of the historical activity data, wherein theaggregate view comprises: an activity indicator comprising: a firstindicator representative of an aggregate amount of a first type ofphysical activity performed by a user during a period of time; a secondindicator representative of an aggregate amount of a second type ofphysical activity performed by the user during the period of time; and athird indicator representative of an aggregate amount of a third type ofphysical activity performed by the user during the period of time; andone or more partitions associated with the first, second, or third typeof physical activity.

In some embodiments, an electronic device comprises: means for receivinghistorical activity data representing physical activity performed by auser; and means for displaying an aggregated view of the historicalactivity data, wherein the aggregate view comprises: an activityindicator comprising: a first indicator representative of an aggregateamount of a first type of physical activity performed by a user during aperiod of time; a second indicator representative of an aggregate amountof a second type of physical activity performed by the user during theperiod of time; and a third indicator representative of an aggregateamount of a third type of physical activity performed by the user duringthe period of time; and one or more partitions associated with thefirst, second, or third type of physical activity.

In some embodiments, an electronic device comprises: a display unitconfigured to display graphic objects; and a processing unit coupled tothe display unit, the processing unit configured to: receive historicalactivity data representing physical activity performed by a user; andenable display, on the display unit, of an aggregated view of thehistorical activity data, wherein the aggregate view comprises: anactivity indicator comprising: a first indicator representative of anaggregate amount of a first type of physical activity performed by auser during a period of time; a second indicator representative of anaggregate amount of a second type of physical activity performed by theuser during the period of time; and a third indicator representative ofan aggregate amount of a third type of physical activity performed bythe user during the period of time; and one or more partitionsassociated with the first, second, or third type of physical activity.

In some embodiments, an electronic device comprises: one or moreprocessors; a memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: receiving historical activity data representing physical activityperformed by a user; and displaying an aggregated view of the historicalactivity data, wherein the aggregate view comprises: an activityindicator comprising: a first indicator representative of an aggregateamount of a first type of physical activity performed by a user during aperiod of time; a second indicator representative of an aggregate amountof a second type of physical activity performed by the user during theperiod of time; and a third indicator representative of an aggregateamount of a third type of physical activity performed by the user duringthe period of time; and one or more partitions associated with thefirst, second, or third type of physical activity.

In some embodiments, a non-transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive historical activity datarepresenting physical activity performed by a user; and display anaggregated view of the historical activity data, wherein the aggregateview comprises: an activity indicator comprising: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user during a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user during the period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user during the period of time; andone or more partitions associated with the first, second, or third typeof physical activity.

In some embodiments, a transitory computer readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: receive historical activity datarepresenting physical activity performed by a user; and display anaggregated view of the historical activity data, wherein the aggregateview comprises: an activity indicator comprising: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user during a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user during the period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user during the period of time; andone or more partitions associated with the first, second, or third typeof physical activity.

Executable instructions for performing these functions are, optionally,included in a non-transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors. Executable instructions for performing these functions are,optionally, included in a transitory computer-readable storage medium orother computer program product configured for execution by one or moreprocessors.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some examples.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some examples

FIG. 2 illustrates a portable multifunction device having atouch-sensitive display in accordance with some examples

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with some examples.

FIGS. 4A and 4B illustrate an exemplary user interface for a menu ofapplications on a portable multifunction device in accordance with someexamples.

FIG. 5A illustrates a portable multifunction device having atouch-sensitive display in accordance with some examples.

FIG. 5B is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some examples.

FIGS. 5C-5D illustrate exemplary components of a personal electronicdevice having a touch-sensitive display and intensity sensors inaccordance with some embodiments.

FIGS. 5E-5H illustrate exemplary components and user interfaces of apersonal electronic device in accordance with some embodiments.

FIG. 6 illustrates a block diagram of an exemplary system foraggregating wellness data according to various examples.

FIG. 7 illustrates a block diagram of another exemplary system foraggregating wellness data according to various examples.

FIG. 8 illustrates an exemplary physical interface for displaying a menuof applications according to various examples.

FIGS. 9-14 illustrate exemplary interfaces of a physical activityapplication according to various examples.

FIG. 15 illustrates an exemplary process for generating a physicalactivity tracking interface for monitoring a user's physical activityaccording to various examples.

FIG. 16 illustrates an exemplary process for determining a physicalactivity type and updating monitored attributes of the physical activitytype according to various examples.

FIGS. 17-21 illustrate exemplary physical activity tracking interfacesaccording to various examples.

FIG. 22 illustrates an exemplary process for generating an inactivitytracking interface for monitoring the inactivity of a user according tovarious examples.

FIG. 23 illustrates an exemplary inactivity tracking interface accordingto various examples.

FIG. 24 illustrates a process for controlling an inactivity timeraccording to various examples.

FIGS. 25-39 illustrate exemplary inactivity tracking interfacesaccording to various examples.

FIG. 40 illustrates a process for generating a combined physicalactivity/inactivity tracking interface for monitoring the activity andinactivity of a user according to various examples.

FIG. 41 illustrates an exemplary combined physical activity/inactivitytracking interface according to various examples.

FIGS. 42-47 illustrate exemplary interfaces for displaying informationabout a user's physical activity and/or inactivity according to variousexamples.

FIG. 48 illustrates a process for generating a workout interface formonitoring a user's workout according to various examples.

FIG. 49 illustrates an exemplary interface for selecting a type ofworkout according to various examples.

FIG. 50 illustrates another exemplary interface for selecting a type ofworkout according to various examples.

FIGS. 51-55 illustrate exemplary interfaces for selecting a workout goalaccording to various examples.

FIGS. 56-59 illustrate exemplary interfaces for notifying a user that aworkout is about to begin according to various examples.

FIGS. 60-65 illustrate exemplary workout interfaces for monitoring auser's workout according to various examples.

FIGS. 66-69 illustrate exemplary interfaces for presenting notificationsto a user according to various examples.

FIGS. 70 and 71 illustrate exemplary interfaces for pausing or stoppinga workout according to various examples.

FIG. 72 illustrates an exemplary interface for presenting workoutsummary information to a user according to various examples.

FIGS. 73-75 illustrate exemplary interfaces for presenting rewards to auser according to various examples.

FIG. 76 illustrates an exemplary interface for sharing physical activityand/or workout information according to various examples.

FIG. 77 illustrates an exemplary workout interface for monitoring auser's workout according to various examples.

FIG. 78 illustrates an exemplary interface for displaying third partyphysical activity data according to various examples.

FIG. 79 illustrates an exemplary process for displaying an aggregatedview of historical physical activity data according to various examples.

FIGS. 80-85 illustrate exemplary aggregated views of historical physicalactivity data according to various examples.

FIG. 86 illustrates an exemplary process for displaying an aggregatedview of historical physical activity data according to various examples.

FIGS. 87 and 88 illustrate exemplary aggregated views of historicalphysical activity data according to various examples.

FIG. 89 illustrates an exemplary process for displaying a monthlyaggregated view of historical physical activity data according tovarious examples.

FIGS. 90 and 91 illustrate exemplary monthly aggregated view ofhistorical physical activity data according to various examples.

FIG. 92 illustrates an exemplary process for displaying a graph view ofhistorical physical activity data according to various examples.

FIGS. 93 and 94 illustrate exemplary graph views of historical physicalactivity data according to various examples.

FIG. 95 illustrates an exemplary achievement view according to variousexamples.

FIG. 96 illustrates a table for calculating a new physical activity goalaccording to various examples.

FIGS. 97-102 illustrate functional block diagrams of electronic devicesaccording to various examples.

DESCRIPTION OF EMBODIMENTS

The following description sets forth exemplary methods, parameters andthe like. It should be recognized, however, that such description is notintended as a limitation on the scope of the present disclosure but isinstead provided as a description of exemplary embodiments.

The present disclosure relates to a device for monitoring a user'sphysical activity or inactivity, and for generating user interfaces fordisplaying the same. The device can monitor various attributes of theuser's physical activity and can generate a user interface fordisplaying some or all of the monitored attributes. One example userinterface can include a first indicator (e.g., a visual representation)that represents one or more attributes of a user's physical activitythat is of a first type and a second indicator (e.g., a visualrepresentation) that represents one or more attributes of a user'sphysical activity that is of a second type. The first type of physicalactivity can be a physical activity that meets a first set of criteriaand the second type of physical activity can be a physical activity thatmeets a second set of criteria. In some examples, the second set ofcriteria can encompass the first set of criteria, resulting in thesecond type of physical activity being a subset of the first type ofphysical activity. The user interface can further include a thirdindicator (e.g., a visual representation) that represents one or moreattributes of a user's inactivity, which can include the user notperforming a specified type of physical activity or the user notperforming a physical activity that meets a third set of criteria.

The present disclosure also relates to a device for monitoring a user'sworkout, and for generating user interfaces for displaying the same. Thedevice can monitor a user's physical activity during a workout (e.g., asession of physical activity or exercise) using activity sensorsselected based on the type of workout. The device can further generate auser interface for displaying one or more attributes of the workout. Oneexample user interface can include a first indicator (e.g., a visualrepresentation) that represents a first attribute of the workout and asecond indicator (e.g., a visual representation) that represents asecond attribute of the workout. The device can further providenotifications during the workout to notify the user of significantevents associated with the workout.

Electronic Devices

FIGS. 1A-1B, 2, 3, 4A-4B, and 5A-5B provide a description of exemplarydevices for monitoring a user's physical activity. FIGS. 8-14, 17-21,23, 25-39, 41-47, 49-78, 80-85, 87-88, 90-91, and 93-95 illustrateexemplary user interfaces that can be displayed on these exemplarydevices. The user interfaces in the figures are also used to illustratethe processes described below, including the processes in FIGS. 15, 16,22, 24, 40, 48, 79, 86, 89, and 92.

Although the following description uses terms “first,” “second,” etc. todescribe various elements, these elements should not be limited by theterms. These terms are only used to distinguish one element fromanother. For example, a first touch could be termed a second touch, and,similarly, a second touch could be termed a first touch, withoutdeparting from the scope of the various described embodiments. The firsttouch and the second touch are both touches, but they are not the sametouch.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a”, “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The term “if” is, optionally, construed to mean “when” or “upon” or “inresponse to determining” or “in response to detecting,” depending on thecontext. Similarly, the phrase “if it is determined” or “if [a statedcondition or event] is detected” is, optionally, construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse, and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display 112 issometimes called a “touch screen” for convenience and is sometimes knownas or called a “touch-sensitive display system.” Device 100 includesmemory 102 (which optionally includes one or more computer-readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more contact intensity sensors 165 fordetecting intensity of contacts on device 100 (e.g., a touch-sensitivesurface such as touch-sensitive display system 112 of device 100).Device 100 optionally includes one or more tactile output generators 167for generating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface refers to the force or pressure(force per unit area) of a contact (e.g., a finger contact) on thetouch-sensitive surface, or to a substitute (proxy) for the force orpressure of a contact on the touch-sensitive surface. The intensity of acontact has a range of values that includes at least four distinctvalues and more typically includes hundreds of distinct values (e.g., atleast 256). Intensity of a contact is, optionally, determined (ormeasured) using various approaches and various sensors or combinationsof sensors. For example, one or more force sensors underneath oradjacent to the touch-sensitive surface are, optionally, used to measureforce at various points on the touch-sensitive surface. In someimplementations, force measurements from multiple force sensors arecombined (e.g., a weighted average) to determine an estimated force of acontact. Similarly, a pressure-sensitive tip of a stylus is, optionally,used to determine a pressure of the stylus on the touch-sensitivesurface. Alternatively, the size of the contact area detected on thetouch-sensitive surface and/or changes thereto, the capacitance of thetouch-sensitive surface proximate to the contact and/or changes thereto,and/or the resistance of the touch-sensitive surface proximate to thecontact and/or changes thereto are, optionally, used as a substitute forthe force or pressure of the contact on the touch-sensitive surface. Insome implementations, the substitute measurements for contact force orpressure are used directly to determine whether an intensity thresholdhas been exceeded (e.g., the intensity threshold is described in unitscorresponding to the substitute measurements). In some implementations,the substitute measurements for contact force or pressure are convertedto an estimated force or pressure, and the estimated force or pressureis used to determine whether an intensity threshold has been exceeded(e.g., the intensity threshold is a pressure threshold measured in unitsof pressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be accessible by the user on a reduced-size device withlimited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/orapplication-specific integrated circuits.

Memory 102 optionally includes one or more computer-readable storagemediums. The computer-readable storage mediums are optionally tangibleand non-transitory. The computer-readable storage mediums are optionallytransitory. Memory 102 optionally includes high-speed random accessmemory and optionally also includes non-volatile memory, such as one ormore magnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Memory controller 122optionally controls access to memory 102 by other components of device100.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data. In some embodiments, peripheralsinterface 118, CPU 120, and memory controller 122 are, optionally,implemented on a single chip, such as chip 104. In some otherembodiments, they are, optionally, implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The RF circuitry 108optionally includes well-known circuitry for detecting near fieldcommunication (NFC) fields, such as by a short-range communicationradio. The wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity(Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n,and/or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, aprotocol for e-mail (e.g., Internet message access protocol (IMAP)and/or post office protocol (POP)), instant messaging (e.g., extensiblemessaging and presence protocol (XMPP), Session Initiation Protocol forInstant Messaging and Presence Leveraging Extensions (SIMPLE), InstantMessaging and Presence Service (IMPS)), and/or Short Message Service(SMS), or any other suitable communication protocol, includingcommunication protocols not yet developed as of the filing date of thisdocument.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 optionally includes display controller156, optical sensor controller 158, intensity sensor controller 159,haptic feedback controller 161, and one or more input controllers 160for other input or control devices. The one or more input controllers160 receive/send electrical signals from/to other input control devices116. The other input control devices 116 optionally include physicalbuttons (e.g., push buttons, rocker buttons, etc.), dials, sliderswitches, joysticks, click wheels, and so forth. In some alternateembodiments, input controller(s) 160 are, optionally, coupled to any (ornone) of the following: a keyboard, an infrared port, a USB port, and apointer device such as a mouse. The one or more buttons (e.g., 208, FIG.2) optionally include an up/down button for volume control of speaker111 and/or microphone 113. The one or more buttons optionally include apush button (e.g., 206, FIG. 2).

A quick press of the push button optionally disengages a lock of touchscreen 112 or optionally begins a process that uses gestures on thetouch screen to unlock the device, as described in U.S. patentapplication Ser. No. 11/322,549, “Unlocking a Device by PerformingGestures on an Unlock Image,” filed Dec. 23, 2005, U.S. Pat. No.7,657,849, which is hereby incorporated by reference in its entirety. Alonger press of the push button (e.g., 206) optionally turns power todevice 100 on or off. The functionality of one or more of the buttonsare, optionally, user-customizable. Touch screen 112 is used toimplement virtual or soft buttons and one or more soft keyboards.

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output optionallyincludes graphics, text, icons, video, and any combination thereof(collectively termed “graphics”). In some embodiments, some or all ofthe visual output optionally corresponds to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor, or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. Touch screen 112 and display controller 156 (along with anyassociated modules and/or sets of instructions in memory 102) detectcontact (and any movement or breaking of the contact) on touch screen112 and convert the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages,or images) that are displayed on touch screen 112. In an exemplaryembodiment, a point of contact between touch screen 112 and the usercorresponds to a finger of the user.

Touch screen 112 optionally uses LCD (liquid crystal display)technology, LPD (light emitting polymer display) technology, or LED(light emitting diode) technology, although other display technologiesare used in other embodiments. Touch screen 112 and display controller156 optionally detect contact and any movement or breaking thereof usingany of a plurality of touch sensing technologies now known or laterdeveloped, including but not limited to capacitive, resistive, infrared,and surface acoustic wave technologies, as well as other proximitysensor arrays or other elements for determining one or more points ofcontact with touch screen 112. In an exemplary embodiment, projectedmutual capacitance sensing technology is used, such as that found in theiPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.

A touch-sensitive display in some embodiments of touch screen 112 is,optionally, analogous to the multi-touch sensitive touchpads describedin the following U.S. patents: U.S. Pat. No. 6,323,846 (Westerman etal.), U.S. Pat. No. 6,570,557 (Westerman et al.), and/or U.S. Pat. No.6,677,932 (Westerman), and/or U.S. Patent Publication 2002/0015024A1,each of which is hereby incorporated by reference in its entirety.However, touch screen 112 displays visual output from device 100,whereas touch-sensitive touchpads do not provide visual output.

A touch-sensitive display in some embodiments of touch screen 112 isdescribed in the following applications: (1) U.S. patent applicationSer. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2,2006; (2) U.S. patent application Ser. No. 10/840,862, “MultipointTouchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No.10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30,2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures ForTouch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patentapplication Ser. No. 11/228,758, “Virtual Input Device Placement On ATouch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patentapplication Ser. No. 11/228,700, “Operation Of A Computer With A TouchScreen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser.No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen VirtualKeyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No.11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. Allof these applications are incorporated by reference herein in theirentirety.

Touch screen 112 optionally has a video resolution in excess of 100 dpi.In some embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user optionally makes contact with touchscreen 112 using any suitable object or appendage, such as a stylus, afinger, and so forth. In some embodiments, the user interface isdesigned to work primarily with finger-based contacts and gestures,which can be less precise than stylus-based input due to the larger areaof contact of a finger on the touch screen. In some embodiments, thedevice translates the rough finger-based input into a precisepointer/cursor position or command for performing the actions desired bythe user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad (not shown) for activating ordeactivating particular functions. In some embodiments, the touchpad isa touch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from touch screen 112 or anextension of the touch-sensitive surface formed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 optionally includescharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lenses, and converts thelight to data representing an image. In conjunction with imaging module143 (also called a camera module), optical sensor 164 optionallycaptures still images or video. In some embodiments, an optical sensoris located on the back of device 100, opposite touch screen display 112on the front of the device so that the touch screen display is enabledfor use as a viewfinder for still and/or video image acquisition. Insome embodiments, an optical sensor is located on the front of thedevice so that the user's image is, optionally, obtained for videoconferencing while the user views the other video conferenceparticipants on the touch screen display. In some embodiments, theposition of optical sensor 164 can be changed by the user (e.g., byrotating the lens and the sensor in the device housing) so that a singleoptical sensor 164 is used along with the touch screen display for bothvideo conferencing and still and/or video image acquisition.

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled tointensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor 165 optionally includes one or more piezoresistive strain gauges,capacitive force sensors, electric force sensors, piezoelectric forcesensors, optical force sensors, capacitive touch-sensitive surfaces, orother intensity sensors (e.g., sensors used to measure the force (orpressure) of a contact on a touch-sensitive surface). Contact intensitysensor 165 receives contact intensity information (e.g., pressureinformation or a proxy for pressure information) from the environment.In some embodiments, at least one contact intensity sensor is collocatedwith, or proximate to, a touch-sensitive surface (e.g., touch-sensitivedisplay system 112). In some embodiments, at least one contact intensitysensor is located on the back of device 100, opposite touch screendisplay 112, which is located on the front of device 100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 is, optionally, coupled to inputcontroller 160 in I/O subsystem 106. Proximity sensor 166 optionallyperforms as described in U.S. patent application Ser. No. 11/241,839,“Proximity Detector In Handheld Device”; Ser. No. 11/240,788, “ProximityDetector In Handheld Device”; Ser. No. 11/620,702, “Using Ambient LightSensor To Augment Proximity Sensor Output”; Ser. No. 11/586,862,“Automated Response To And Sensing Of User Activity In PortableDevices”; and Ser. No. 11/638,251, “Methods And Systems For AutomaticConfiguration Of Peripherals,” which are hereby incorporated byreference in their entirety. In some embodiments, the proximity sensorturns off and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled tohaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator 167 optionally includes one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Contact intensity sensor 165 receives tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch screen display 112, which is located on thefront of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1A shows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled to an inputcontroller 160 in I/O subsystem 106. Accelerometer 168 optionallyperforms as described in U.S. Patent Publication No. 20050190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 20060017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are incorporated by reference herein in their entirety. Insome embodiments, information is displayed on the touch screen displayin a portrait view or a landscape view based on an analysis of datareceived from the one or more accelerometers. Device 100 optionallyincludes, in addition to accelerometer(s) 168, a magnetometer (notshown) and a GPS (or GLONASS or other global navigation system) receiver(not shown) for obtaining information concerning the location andorientation (e.g., portrait or landscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3)stores device/global internal state 157, as shown in FIGS. 1A and 3.Device/global internal state 157 includes one or more of: activeapplication state, indicating which applications, if any, are currentlyactive; display state, indicating what applications, views or otherinformation occupy various regions of touch screen display 112; sensorstate, including information obtained from the device's various sensorsand input control devices 116; and location information concerning thedevice's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with, the30-pin connector used on iPod® (trademark of Apple Inc.) devices.

Contact/motion module 130 optionally detects contact with touch screen112 (in conjunction with display controller 156) and othertouch-sensitive devices (e.g., a touchpad or physical click wheel).Contact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments,contact/motion module 130 and display controller 156 detect contact on atouchpad.

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch screen display can be set to any of alarge range of predefined threshold values without changing the trackpador touch screen display hardware. Additionally, in some implementations,a user of the device is provided with software settings for adjustingone or more of the set of intensity thresholds (e.g., by adjustingindividual intensity thresholds and/or by adjusting a plurality ofintensity thresholds at once with a system-level click “intensity”parameter).

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (liftoff) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (liftoff) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the visual impact (e.g., brightness,transparency, saturation, contrast, or other visual property) ofgraphics that are displayed. As used herein, the term “graphics”includes any object that can be displayed to a user, including, withoutlimitation, text, web pages, icons (such as user-interface objectsincluding soft keys), digital images, videos, animations, and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing; to camera 143 as picture/video metadata;and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   Contacts module 137 (sometimes called an address book or contact        list);    -   Telephone module 138;    -   Video conference module 139;    -   E-mail client module 140;    -   Instant messaging (IM) module 141;    -   Workout support module 142;    -   Camera module 143 for still and/or video images;    -   Image management module 144;    -   Video player module;    -   Music player module;    -   Browser module 147;    -   Calendar module 148;    -   Widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   Widget creator module 150 for making user-created widgets 149-6;    -   Search module 151;    -   Video and music player module 152, which merges video player        module and music player module;    -   Notes module 153;    -   Map module 154; and/or    -   Online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, contacts module 137 are, optionally, used to manage an address bookor contact list (e.g., stored in application internal state 192 ofcontacts module 137 in memory 102 or memory 370), including: addingname(s) to the address book; deleting name(s) from the address book;associating telephone number(s), e-mail address(es), physicaladdress(es) or other information with a name; associating an image witha name; categorizing and sorting names; providing telephone numbers ore-mail addresses to initiate and/or facilitate communications bytelephone 138, video conference module 139, e-mail 140, or IM 141; andso forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact/motionmodule 130, graphics module 132, and text input module 134, telephonemodule 138 are optionally, used to enter a sequence of characterscorresponding to a telephone number, access one or more telephonenumbers in contacts module 137, modify a telephone number that has beenentered, dial a respective telephone number, conduct a conversation, anddisconnect or hang up when the conversation is completed. As notedabove, the wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact/motion module 130, graphicsmodule 132, text input module 134, contacts module 137, and telephonemodule 138, video conference module 139 includes executable instructionsto initiate, conduct, and terminate a video conference between a userand one or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages, and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages optionally include graphics, photos, audio files, videofiles and/or other attachments as are supported in an MMS and/or anEnhanced Messaging Service (EMS). As used herein, “instant messaging”refers to both telephony-based messages (e.g., messages sent using SMSor MMS) and Internet-based messages (e.g., messages sent using XMPP,SIMPLE, or IMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, map module 154, and music playermodule, workout support module 142 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store, and transmit workoutdata.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact/motion module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, text input module 134,and camera module 143, image management module 144 includes executableinstructions to arrange, modify (e.g., edit), or otherwise manipulate,label, delete, present (e.g., in a digital slide show or album), andstore still and/or video images.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, e-mail client module 140, and browser module 147,calendar module 148 includes executable instructions to create, display,modify, and store calendars and data associated with calendars (e.g.,calendar entries, to-do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, widget modules 149 aremini-applications that are, optionally, downloaded and used by a user(e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, the widget creator module 150are, optionally, used by a user to create widgets (e.g., turning auser-specified portion of a web page into a widget).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, search module 151 includes executable instructions to search fortext, music, sound, image, video, and/or other files in memory 102 thatmatch one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, and browser module 147, video and musicplayer module 152 includes executable instructions that allow the userto download and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present, or otherwise play back videos (e.g.,on touch screen 112 or on an external, connected display via externalport 124). In some embodiments, device 100 optionally includes thefunctionality of an MP3 player, such as an iPod (trademark of AppleInc.).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, notes module 153 includes executable instructions to create andmanage notes, to-do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, and browser module 147, map module 154are, optionally, used to receive, display, modify, and store maps anddata associated with maps (e.g., driving directions, data on stores andother points of interest at or near a particular location, and otherlocation-based data) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 124), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 141, rather than e-mail client module 140, isused to send a link to a particular online video. Additional descriptionof the online video application can be found in U.S. Provisional PatentApplication No. 60/936,562, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Jun. 20,2007, and U.S. patent application Ser. No. 11/968,067, “PortableMultifunction Device, Method, and Graphical User Interface for PlayingOnline Videos,” filed Dec. 31, 2007, the contents of which are herebyincorporated by reference in their entirety.

Each of the above-identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (e.g., sets of instructions) need notbe implemented as separate software programs, procedures, or modules,and thus various subsets of these modules are, optionally, combined orotherwise rearranged in various embodiments. For example, video playermodule is, optionally, combined with music player module into a singlemodule (e.g., video and music player module 152, FIG. 1A). In someembodiments, memory 102 optionally stores a subset of the modules anddata structures identified above. Furthermore, memory 102 optionallystores additional modules and data structures not described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., inoperating system 126) and a respective application 136-1 (e.g., any ofthe aforementioned applications 137-151, 155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch-sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripherals interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more viewswhen touch-sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected optionally correspond to programmatic levelswithin a programmatic or view hierarchy of the application. For example,the lowest level view in which a touch is detected is, optionally,called the hit view, and the set of events that are recognized as properinputs are, optionally, determined based, at least in part, on the hitview of the initial touch that begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (e.g., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule 172, the hit view typically receives all sub-events related tothe same touch or input source for which it was identified as the hitview.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver 182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 optionally utilizes or calls data updater176, object updater 177, or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 include one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170 and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which optionally include sub-event deliveryinstructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch, the eventinformation optionally also includes speed and direction of thesub-event. In some embodiments, events include rotation of the devicefrom one orientation to another (e.g., from a portrait orientation to alandscape orientation, or vice versa), and the event informationincludes corresponding information about the current orientation (alsocalled device attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event (187) include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first liftoff (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second liftoff (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and liftoff of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event (187) alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers interact, or are enabled to interact, with one another. Insome embodiments, metadata 183 includes configurable properties, flags,and/or lists that indicate whether sub-events are delivered to varyinglevels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater177 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc. on touchpads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screenoptionally displays one or more graphics within user interface (UI) 200.In this embodiment, as well as others described below, a user is enabledto select one or more of the graphics by making a gesture on thegraphics, for example, with one or more fingers 202 (not drawn to scalein the figure) or one or more styluses 203 (not drawn to scale in thefigure). In some embodiments, selection of one or more graphics occurswhen the user breaks contact with the one or more graphics. In someembodiments, the gesture optionally includes one or more taps, one ormore swipes (from left to right, right to left, upward and/or downward),and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with device 100. In someimplementations or circumstances, inadvertent contact with a graphicdoes not select the graphic. For example, a swipe gesture that sweepsover an application icon optionally does not select the correspondingapplication when the gesture corresponding to selection is a tap.

Device 100 optionally also include one or more physical buttons, such as“home” or menu button 204. As described previously, menu button 204 is,optionally, used to navigate to any application 136 in a set ofapplications that are, optionally, executed on device 100.Alternatively, in some embodiments, the menu button is implemented as asoft key in a GUI displayed on touch screen 112.

In some embodiments, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, subscriber identity module(SIM) card slot 210, headset jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, device 100 also acceptsverbal input for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch screen 112 and/or one or more tactile output generators 167 forgenerating tactile outputs for a user of device 100.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPUs) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1A), sensors 359(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1A). Memory 370 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM, or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 370 optionally includes one or more storage devicesremotely located from CPU(s) 310. In some embodiments, memory 370 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1A), or a subset thereof. Furthermore,memory 370 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 370 of device 300 optionally stores drawingmodule 380, presentation module 382, word processing module 384, websitecreation module 386, disk authoring module 388, and/or spreadsheetmodule 390, while memory 102 of portable multifunction device 100 (FIG.1A) optionally does not store these modules.

Each of the above-identified elements in FIG. 3 are, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove-identified modules corresponds to a set of instructions forperforming a function described above. The above-identified modules orprograms (e.g., sets of instructions) need not be implemented asseparate software programs, procedures, or modules, and thus varioussubsets of these modules are, optionally, combined or otherwiserearranged in various embodiments. In some embodiments, memory 370optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 370 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces thatis, optionally, implemented on, for example, portable multifunctiondevice 100.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces are, optionally, implementedon device 300. In some embodiments, user interface 400 includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser;” and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod;” and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Messages;”        -   Icon 426 for calendar module 148, labeled “Calendar;”        -   Icon 428 for image management module 144, labeled “Photos;”        -   Icon 430 for camera module 143, labeled “Camera;”        -   Icon 432 for online video module 155, labeled “Online            Video;”        -   Icon 434 for stocks widget 149-2, labeled “Stocks;”        -   Icon 436 for map module 154, labeled “Maps;”        -   Icon 438 for weather widget 149-1, labeled “Weather;”        -   Icon 440 for alarm clock widget 149-4, labeled “Clock;”        -   Icon 442 for workout support module 142, labeled “Workout            Support;”        -   Icon 444 for notes module 153, labeled “Notes;” and        -   Icon 446 for a settings application or module, labeled            “Settings,” which provides access to settings for device 100            and its various applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely exemplary. For example, icon 422 for video and music playermodule 152 are labeled “Music” or “Music Player.” Other labels are,optionally, used for various application icons. In some embodiments, alabel for a respective application icon includes a name of anapplication corresponding to the respective application icon. In someembodiments, a label for a particular application icon is distinct froma name of an application corresponding to the particular applicationicon.

FIG. 4B illustrates an exemplary user interface on a device (e.g.,device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tabletor touchpad 355, FIG. 3) that is separate from the display 450 (e.g.,touch screen display 112). Device 300 also, optionally, includes one ormore contact intensity sensors (e.g., one or more of sensors 359) fordetecting intensity of contacts on touch-sensitive surface 451 and/orone or more tactile output generators 357 for generating tactile outputsfor a user of device 300.

Although some of the examples which follow will be given with referenceto inputs on touch screen display 112 (where the touch-sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 4B. In some embodiments, the touch-sensitive surface(e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) thatcorresponds to a primary axis (e.g., 453 in FIG. 4B) on the display(e.g., 450). In accordance with these embodiments, the device detectscontacts (e.g., 460 and 462 in FIG. 4B) with the touch-sensitive surface451 at locations that correspond to respective locations on the display(e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470).In this way, user inputs (e.g., contacts 460 and 462, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,451 in FIG. 4B) are used by the device to manipulate the user interfaceon the display (e.g., 450 in FIG. 4B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse-based input or stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

FIG. 5A illustrates exemplary personal electronic device 500. Device 500includes body 502. In some embodiments, device 500 can include some orall of the features described with respect to devices 100 and 300 (e.g.,FIGS. 1A-4B). In some embodiments, device 500 has touch-sensitivedisplay screen 504, hereafter touch screen 504. Alternatively, or inaddition to touch screen 504, device 500 has a display and atouch-sensitive surface. As with devices 100 and 300, in someembodiments, touch screen 504 (or the touch-sensitive surface)optionally includes one or more intensity sensors for detectingintensity of contacts (e.g., touches) being applied. The one or moreintensity sensors of touch screen 504 (or the touch-sensitive surface)can provide output data that represents the intensity of touches. Theuser interface of device 500 can respond to touches based on theirintensity, meaning that touches of different intensities can invokedifferent user interface operations on device 500.

Personal electronic device 500 can be used for detecting and monitoringvarious attributes of a user's physical activity, such as an amount, anintensity level, a duration, a progress relative to a set value, a trendover a time period, or the like, of the activity, and can generate userinterfaces for displaying the same. Device 500 can further be used tomonitor a user's inactivity, where the user can be categorized as beinginactive when device 500 detects that the user is not engaged in aphysical activity that meets a predetermined criteria. For example,inactivity can be characterized by the absence of the user engaging in aphysical activity that meets a threshold intensity (e.g., movement thatexpends a threshold number of Calories per unit time, movement thatexceeds a threshold distance per unit time, or the like), the absence ofthe user engaging in a specified type of activity (e.g., standing,walking, running, swimming, climbing stairs, or the like), or acombination thereof. As will be described in greater detail below,device 500 can include various activity sensors for detecting activityand inactivity of a user and can generate an interface on a display ofthe device to provide the user with information associated with theiractivity or inactivity.

Exemplary techniques for detecting and processing touch intensity arefound, for example, in related applications: International PatentApplication Serial No. PCT/US2013/040061, titled “Device, Method, andGraphical User Interface for Displaying User Interface ObjectsCorresponding to an Application,” filed May 8, 2013, and InternationalPatent Application Serial No. PCT/US2013/069483, titled “Device, Method,and Graphical User Interface for Transitioning Between Touch Input toDisplay Output Relationships,” filed Nov. 11, 2013, each of which ishereby incorporated by reference in their entirety.

In some embodiments, device 500 has one or more input mechanisms 506 and508. Input mechanisms 506 and 508, if included, can be physical.Examples of physical input mechanisms include push buttons and rotatablemechanisms. In some embodiments, device 500 has one or more attachmentmechanisms. Such attachment mechanisms, if included, can permitattachment of device 500 with, for example, hats, eyewear, earrings,necklaces, shirts, jackets, bracelets, watch straps, chains, trousers,belts, shoes, purses, backpacks, and so forth. These attachmentmechanisms may permit device 500 to be worn by a user.

In some examples, device 500 can further include an attachment mechanism(not shown) coupled to body 502 to permit device 500 to be worn by auser. The attachment mechanism can include a strap that permits device500 to be worn around the user's wrist. However, it should beappreciated that the attachment mechanism can include other types ofattachment mechanisms. For instance, in some examples, the attachmentmechanism can include a string, a clip, a clasp, a metal loop, a toggle,a button, a snap, a hook, an interlocking part, a soldered part, or thelike, that can be attached to or integrated with hats, eyewear,earrings, necklaces, shirts, jackets, bracelets, watch straps, chains,trousers, belts, shoes, purses, backpacks, hairbands, armbands, anyother clothing, jewelry, or wearable accessories. In yet other examples,the attachment mechanism can include an adhesive, a weld metal, apolymer, a glue, or the like, that permits device 500 to be directlyaffixed to a user's body part, such as wrist, finger, toe, neck, head,arm, leg, ankle, waist, or the like.

Device 500 can further include one or more activity sensors fordetecting physical activity of a user. The activity sensors can includeone or more of global positioning system (GPS) sensors, pedometers,accelerometers, biometric sensors, gyroscope sensors, motion sensors,timer sensors, clock sensors, or the like, and can be operable to outputactivity data that represents various attributes of a detected activityof the user.

FIG. 5B depicts exemplary personal electronic device 500. In someembodiments, device 500 can include some or all of the componentsdescribed with respect to FIGS. 1A, 1B, and 3. Device 500 has bus 512that operatively couples I/O section 514 with one or more computerprocessors 516 and memory 518. I/O section 514 can be connected todisplay 504, which can have touch-sensitive component 522 and,optionally, intensity sensor 524 (e.g., contact intensity sensor). Inaddition, I/O section 514 can be connected with communication unit 530for receiving application and operating system data, using Wi-Fi,Bluetooth, near field communication (NFC), cellular, and/or otherwireless communication techniques. Device 500 can include inputmechanisms 506 and/or 508. Input mechanism 506 is, optionally, arotatable input device or a depressible and rotatable input device, forexample. Input mechanism 508 is, optionally, a button, in some examples.

Input mechanism 508 is, optionally, a microphone, in some examples.Personal electronic device 500 optionally includes various activitysensors 520 for detecting an activity of a user of device 500. Activitysensors 520 can include one or more of any desired type of sensor, suchas GPS sensor 532, accelerometer 534, directional sensor 540 (e.g.,compass), gyroscope 536, motion sensor 538, other sensor(s) 541, and/ora combination thereof, all of which can be operatively connected to I/Osection 514. While not shown, other sensor(s) 541 can include any of apedometer, a passive infrared sensor, an ultrasonic sensor, a microwavesensor, a tomographic motion detector, a camera, a biometric sensor, alight sensor, a timer, or the like.

In some examples, the biometric sensor can include one or morehealth-related optical sensors, capacitive sensors, thermal sensors,electric field (eField) sensors, and/or ultrasound sensors, such asphotoplethysmogram (PPG) sensors, electrocardiography (ECG) sensors,and/or galvanic skin response (GSR) sensors. These sensors can generatedata providing health-related information associated with the user. Forexample, PPG sensors can provide information regarding a user'srespiratory rate, blood pressure, and/or oxygen saturation. ECG sensorscan provide information regarding a user's heartbeats. GSR sensors canprovide information regarding a user's skin moisture indicative ofsweating and can prioritize a thermostat application to determine auser's body temperature. Using one or more of these sensors, device 500can determine physiological characteristics of the user while performinga detected activity, such as a heart rate of a user associated with thedetected activity, average body temperature of a user detected duringthe detected activity, any normal or abnormal physical conditionsassociated with the detected activity, or the like.

In some examples, GPS sensor 532 can be used to determine a user'slocation and movement, as well as a displacement of the user's motion.Accelerometer 534, directional sensor 540, and gyroscope 536 can furthergenerate activity data that can be used to determine whether a user ofdevice 500 is engaging in an activity, is inactive, or is performing agesture. Device 500 can further include a timer that can be used, forexample, to add time dimensions to various attributes of the detectedphysical activity, such as a duration of a user's physical activity orinactivity, time(s) of a day when the activity is detected or notdetected, etc.

Activity sensors 520 can be embedded in body 502 of device 500, placednear a bottom surface of body 502 of device 500, or can be positioned atany other desirable location. In some examples, different activitysensors 520 can be placed in different locations inside or on thesurfaces of device 500—e.g., some located inside body 502 and someattached to the attachment mechanism, or the like. In other examples,activity sensors 520 can be worn by a user separately from device 500.In such cases, the sensors can be configured to communicate with device500 using a wired or wireless technology (e.g., via communication unit531). In some examples, activity sensors 520 can be configured tocommunicate with each other and/or share data collected from one or moresensors. In some other examples, device 500 can be waterproof such thatthe sensors can detect a user's activity in water.

Memory 518 of personal electronic device 500 can be a non-transitorycomputer-readable storage medium, for storing computer-executableinstructions, which, when executed by one or more computer processors516, for example, can cause the computer processors to perform thetechniques described above, including processes 1500, 1600, 2200, 2400,4000, 4800, 7900, 8600, 8900, and 9200 (FIGS. 15, 16, 22, 24, 40, 48,79, 86, and 89). The computer-executable instructions can also be storedand/or transported within any non-transitory computer-readable storagemedium for use by or in connection with an instruction execution system,apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. For purposes of this document, a“non-transitory computer-readable storage medium” can be any medium thatcan tangibly contain or store computer-executable instructions for useby or in connection with the instruction execution system, apparatus, ordevice. The non-transitory computer-readable storage medium can include,but is not limited to, magnetic, optical, and/or semiconductor storages.Examples of such storage include magnetic disks, optical discs based onCD, DVD, or Blu-ray technologies, as well as persistent solid-statememory such as flash, solid-state drives, and the like. Personalelectronic device 500 is not limited to the components and configurationof FIG. 5B, but can include other or additional components in multipleconfigurations.

Device 500 can further include one or more computer processors 516coupled to memory section 518 via bus 512. I/O section 514 can becoupled to bus 512 to allow processors 516 and memory 518 to transmitand receive data from other components of device 500. For example,processors 516 can be coupled to provide instructions to activitysensors 520 via I/O section 514 and can be coupled to receive activitydata from activity sensors 520 via I/O section 514.

Processors 516 can be configured to process the activity data todetermine if the physical activity data represents a physical activityor a gesture being performed by the user, where a physical activity cangenerally refer to any bodily motion that can enhance or maintainphysical fitness and overall health and wellness. Additionally,processors 516 can be configured to identify the type of physicalactivity represented by the activity data, such as whether the detectedactivity is standing, bicycling, jogging, walking, running, swimming,jumping, going up stairs, intense bodily movements, such as wrestling,or the like. Examples of gestures recognizable by device 500 include,but are not limited to, waving hands, moving fingers, such as typing, orthe like. In some examples, processor 516 can determine a physicalactivity of a user based on one or more physical activity recognitionalgorithms. Some algorithms can instruct processor 516 to recognizemovement of device 500 as being associated with a gesture if thedetected movement does not have an intensity level greater than or equalto a physical activity threshold. The physical activity threshold can berepresented as a distance traveled, a number of Calories burned, anumber of steps taken, any one or more of these attributes calculatedper unit time, or the like. The algorithms for storing such instructionsfor the one or more processors 516 can be stored in memory section 518.

Additionally, processors 516 can determine, based on the physicalactivity data received from the sensors, various attributes of thedetected physical activity. Attributes of the detected physical activitycan include physical, biological, physiological, or environmentalcharacteristics associated with the detected physical activity. Examplesof attributes determinable by device 500 upon detecting a physicalactivity can include, but are not limited to: duration of the detectedphysical activity; time(s) of a day when the user performs the detectedphysical activity; amount of Calories burned by a user of the devicewhile performing the detected physical activity; distance travelled by auser of the device while performing the detected physical activity;steps taken by a user of the device while performing the detectedphysical activity; elevation climbed by a user of the device whileperforming the detected physical activity; highest/lowest/averagevelocity of a user of the device while performing the detected physicalactivity; highest/lowest/average heart rate of a user of the devicewhile performing the detected physical activity; highest/lowest/averagebody temperature of a user of the device while performing the detectedphysical activity; or the like. For example, when device 500 categorizesa detected physical activity as walking, device 500 can furtherdetermine one or more attributes of the detected walking, such as alength of time for which the walking continues, highest/lowest/averagespeed of the user while walking, amount of Calories burned from thedetected walking, or the like. In some examples, device 500 can furtherdetermine time dimensions associated with one or more attributes using aclock/timer sensor such as time(s) of a day when physical activity isdetected, time(s) of a day when the most/least intensive physicalactivity is detected, time(s) of a day when a certain amount of Caloriesare burned, or the like.

In some examples, processors 516 in combination with activity sensors520 of device 500 can detect when the system is placed into a viewingposition. For instance, accelerometer 534, motion sensor 538, and/orgyroscope 536 can detect when device 500 is raised, lowered, and shaken.These sensors can also detect wrist rotation forward and backward. Insome examples, the raising of device 500 can be interpreted as aplacement of the device into viewing position. In other examples, theraising and rotation of device 500 can be interpreted as a placement ofthe device into viewing position. In yet other examples, the raising androtation of device 500 within a threshold duration can be interpreted asa placement of the device into viewing position. When put into a viewingposition, device 500 can adjust the display image according to theviewing positions and angles, and/or update the display image to reflectthe most current data related to the user's physical activity. In someexamples, device 500 can determine that when it is moving at a velocitythat exceeds a threshold (e.g., 10 mph, 20 mph, 25 mph, 30 mph, 40 mph,50 mph, 55 mph, 60 mph, 65 mph, etc.), the user of the device iscommuting, and the movement associated with the user is not a result ofthe user's bodily movement or exercising. In other examples, device 500can receive an input from a user indicating that he/she is engaging in aparticular type of activity that causes them to move at a velocityexceeding the above-mentioned threshold (e.g., cycling), and that theassociated movement should be interpreted as being a result of exercise.

In some other examples, device 500 can be globally turned off inresponse to a global turn-on/off signal. For instance, if globallyturned off, device 500 can stop detecting and monitoring a physicalactivity from a user. This can advantageously save power in cases wherethe user intends to not use device 500 for a period of time. In someexamples, a global turn-off signal can be inputted directly by a user ofdevice 500 using an input mechanism of device 500. The user can set aperiod of time during which device 500 would be turned off and afterwhich device 500 would automatically turn on. In other examples, asignal to turn off device 500 can be automatically generated in responseto the processor determining, based on a contact temperature or otherconditions detectable by the sensors, that device 100 is no longer beingworn by a user.

Device 500 can track a user's physical activity over different lengthsof time. For example, if device 500 monitors a user's daily activity, itcan track one or more attributes of the user's physical activitiesperformed on the same day and can store and reset the values of thoseattributes the next day. For instance, in some cases, device 500 canmonitor a total amount of daily physical activity performed by the user,and this total amount can be updated in real time throughout the day for24 hours as more activities are detected. After the 24 hours havepassed, the total amount can be stored and reset. Device 500 can beconfigured to reset the attribute value at a specified time that isadjustable by a user. In other examples, device 500 can operate overdifferent lengths of time, such as a half day, two days, a week, twoweeks, a month, or the like, that can be adjustable by a user of device500. Further, in some examples where device 500 monitors a user'sphysical activity over a relatively extended length of time, device 500may not have enough memory capacity to track and store all of theattributes of the user's physical activities over such an extendedlength of time and can instead be configured to offload some or all ofthe data collected from the sensors on an external device (e.g., aremote server) that is remote from device 500. The external device canbe configured to communicate with a plurality of devices 500, and storedata collected from these devices. The external device can be furtherconfigured to execute computer instructions on the data and communicatethe result with one or more of these devices 500.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that is, optionally, displayed on thedisplay screen of devices 100, 300, and/or 500 (FIGS. 1, 3, and 5). Forexample, an image (e.g., icon), a button, and text (e.g., hyperlink)each optionally constitute an affordance.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B)while the cursor is over a particular user interface element (e.g., abutton, window, slider or other user interface element), the particularuser interface element is adjusted in accordance with the detectedinput. In some implementations that include a touch screen display(e.g., touch-sensitive display system 112 in FIG. 1A or touch screen 112in FIG. 4A) that enables direct interaction with user interface elementson the touch screen display, a detected contact on the touch screen actsas a “focus selector” so that when an input (e.g., a press input by thecontact) is detected on the touch screen display at a location of aparticular user interface element (e.g., a button, window, slider, orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementations,focus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact, or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “characteristicintensity” of a contact refers to a characteristic of the contact basedon one or more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionallybased on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, or the like. In some embodiments, theduration of the contact is used in determining the characteristicintensity (e.g., when the characteristic intensity is an average of theintensity of the contact over time). In some embodiments, thecharacteristic intensity is compared to a set of one or more intensitythresholds to determine whether an operation has been performed by auser. For example, the set of one or more intensity thresholdsoptionally includes a first intensity threshold and a second intensitythreshold. In this example, a contact with a characteristic intensitythat does not exceed the first threshold results in a first operation, acontact with a characteristic intensity that exceeds the first intensitythreshold and does not exceed the second intensity threshold results ina second operation, and a contact with a characteristic intensity thatexceeds the second threshold results in a third operation. In someembodiments, a comparison between the characteristic intensity and oneor more thresholds is used to determine whether or not to perform one ormore operations (e.g., whether to perform a respective operation orforgo performing the respective operation) rather than being used todetermine whether to perform a first operation or a second operation.

FIG. 5C illustrates detecting a plurality of contacts 552A-552E ontouch-sensitive display screen 504 with a plurality of intensity sensors524A-524D. FIG. 5C additionally includes intensity diagrams that showthe current intensity measurements of the intensity sensors 524A-524Drelative to units of intensity. In this example, the intensitymeasurements of intensity sensors 524A and 524D are each 9 units ofintensity, and the intensity measurements of intensity sensors 524B and524C are each 7 units of intensity. In some implementations, anaggregate intensity is the sum of the intensity measurements of theplurality of intensity sensors 524A-524D, which in this example is 32intensity units. In some embodiments, each contact is assigned arespective intensity that is a portion of the aggregate intensity. FIG.5D illustrates assigning the aggregate intensity to contacts 552A-552Ebased on their distance from the center of force 554. In this example,each of contacts 552A, 552B and 552E are assigned an intensity ofcontact of 8 intensity units of the aggregate intensity, and each ofcontacts 552C and 552D are assigned an intensity of contact of 4intensity units of the aggregate intensity. More generally, in someimplementations, each contact j is assigned a respective intensity Ijthat is a portion of the aggregate intensity, A, in accordance with apredefined mathematical function, Ij=A·(Dj/ΣDi), where Dj is thedistance of the respective contact j to the center of force, and ΣDi isthe sum of the distances of all the respective contacts (e.g., i=1 tolast) to the center of force. The operations described with reference toFIGS. 5C-5D can be performed using an electronic device similar oridentical to device 100, 300, or 500. In some embodiments, acharacteristic intensity of a contact is based on one or moreintensities of the contact. In some embodiments, the intensity sensorsare used to determine a single characteristic intensity (e.g., a singlecharacteristic intensity of a single contact). It should be noted thatthe intensity diagrams are not part of a displayed user interface, butare included in FIGS. 5C-5D to aid the reader.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface optionally receives a continuous swipe contacttransitioning from a start location and reaching an end location, atwhich point the intensity of the contact increases. In this example, thecharacteristic intensity of the contact at the end location is,optionally, based on only a portion of the continuous swipe contact, andnot the entire swipe contact (e.g., only the portion of the swipecontact at the end location). In some embodiments, a smoothing algorithmis, optionally, applied to the intensities of the swipe contact prior todetermining the characteristic intensity of the contact. For example,the smoothing algorithm optionally includes one or more of: anunweighted sliding-average smoothing algorithm, a triangular smoothingalgorithm, a median filter smoothing algorithm, and/or an exponentialsmoothing algorithm. In some circumstances, these smoothing algorithmseliminate narrow spikes or dips in the intensities of the swipe contactfor purposes of determining a characteristic intensity.

The intensity of a contact on the touch-sensitive surface is,optionally, characterized relative to one or more intensity thresholds,such as a contact-detection intensity threshold, a light press intensitythreshold, a deep press intensity threshold, and/or one or more otherintensity thresholds. In some embodiments, the light press intensitythreshold corresponds to an intensity at which the device will performoperations typically associated with clicking a button of a physicalmouse or a trackpad. In some embodiments, the deep press intensitythreshold corresponds to an intensity at which the device will performoperations that are different from operations typically associated withclicking a button of a physical mouse or a trackpad. In someembodiments, when a contact is detected with a characteristic intensitybelow the light press intensity threshold (e.g., and above a nominalcontact-detection intensity threshold below which the contact is nolonger detected), the device will move a focus selector in accordancewith movement of the contact on the touch-sensitive surface withoutperforming an operation associated with the light press intensitythreshold or the deep press intensity threshold. Generally, unlessotherwise stated, these intensity thresholds are consistent betweendifferent sets of user interface figures.

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold to an intensity between thelight press intensity threshold and the deep press intensity thresholdis sometimes referred to as a “light press” input. An increase ofcharacteristic intensity of the contact from an intensity below the deeppress intensity threshold to an intensity above the deep press intensitythreshold is sometimes referred to as a “deep press” input. An increaseof characteristic intensity of the contact from an intensity below thecontact-detection intensity threshold to an intensity between thecontact-detection intensity threshold and the light press intensitythreshold is sometimes referred to as detecting the contact on thetouch-surface. A decrease of characteristic intensity of the contactfrom an intensity above the contact-detection intensity threshold to anintensity below the contact-detection intensity threshold is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments, the contact-detection intensity threshold is zero.In some embodiments, the contact-detection intensity threshold isgreater than zero.

In some embodiments described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., a “down stroke” of the respective pressinput). In some embodiments, the press input includes an increase inintensity of the respective contact above the press-input intensitythreshold and a subsequent decrease in intensity of the contact belowthe press-input intensity threshold, and the respective operation isperformed in response to detecting the subsequent decrease in intensityof the respective contact below the press-input threshold (e.g., an “upstroke” of the respective press input).

FIGS. 5E-5H illustrate detection of a gesture that includes a pressinput that corresponds to an increase in intensity of a contact 562 froman intensity below a light press intensity threshold (e.g., “IT_(L)”) inFIG. 5E, to an intensity above a deep press intensity threshold (e.g.,“IT_(D)”) in FIG. 5H. The gesture performed with contact 562 is detectedon touch-sensitive surface 560 while cursor 576 is displayed overapplication icon 572B corresponding to App 2, on a displayed userinterface 570 that includes application icons 572A-572D displayed inpredefined region 574. In some embodiments, the gesture is detected ontouch-sensitive display 504. The intensity sensors detect the intensityof contacts on touch-sensitive surface 560. The device determines thatthe intensity of contact 562 peaked above the deep press intensitythreshold (e.g., “IT_(D)”). Contact 562 is maintained on touch-sensitivesurface 560. In response to the detection of the gesture, and inaccordance with contact 562 having an intensity that goes above the deeppress intensity threshold (e.g., “IT_(D)”) during the gesture,reduced-scale representations 578A-578C (e.g., thumbnails) of recentlyopened documents for App 2 are displayed, as shown in FIGS. 5F-5H. Insome embodiments, the intensity, which is compared to the one or moreintensity thresholds, is the characteristic intensity of a contact. Itshould be noted that the intensity diagram for contact 562 is not partof a displayed user interface, but is included in FIGS. 5E-5H to aid thereader.

In some embodiments, the display of representations 578A-578C includesan animation. For example, representation 578A is initially displayed inproximity of application icon 572B, as shown in FIG. 5F. As theanimation proceeds, representation 578A moves upward and representation578B is displayed in proximity of application icon 572B, as shown inFIG. 5G. Then representations 578A moves upward, 578B moves upwardtoward representation 578A, and representation 578C is displayed inproximity of application icon 572B, as shown in FIG. 5H. Representations578A-578C form an array above icon 572B. In some embodiments, theanimation progresses in accordance with an intensity of contact 562, asshown in FIGS. 5F-5G, where the representations 578A-578C appear andmove upwards as the intensity of contact 562 increases toward the deeppress intensity threshold (e.g., “IT_(D)”). In some embodiments theintensity, on which the progress of the animation is based, is thecharacteristic intensity of the contact. The operations described withreference to FIGS. 5E-5H can be performed using an electronic devicesimilar or identical to device 100, 300, or 500.

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90%, or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., an “up stroke” of therespective press input). Similarly, in some embodiments, the press inputis detected only when the device detects an increase in intensity of thecontact from an intensity at or below the hysteresis intensity thresholdto an intensity at or above the press-input intensity threshold and,optionally, a subsequent decrease in intensity of the contact to anintensity at or below the hysteresis intensity, and the respectiveoperation is performed in response to detecting the press input (e.g.,the increase in intensity of the contact or the decrease in intensity ofthe contact, depending on the circumstances).

For ease of explanation, the descriptions of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting either: an increase inintensity of a contact above the press-input intensity threshold, anincrease in intensity of a contact from an intensity below thehysteresis intensity threshold to an intensity above the press-inputintensity threshold, a decrease in intensity of the contact below thepress-input intensity threshold, and/or a decrease in intensity of thecontact below the hysteresis intensity threshold corresponding to thepress-input intensity threshold. Additionally, in examples where anoperation is described as being performed in response to detecting adecrease in intensity of a contact below the press-input intensitythreshold, the operation is, optionally, performed in response todetecting a decrease in intensity of the contact below a hysteresisintensity threshold corresponding to, and lower than, the press-inputintensity threshold.

As used herein, an “installed application” refers to a softwareapplication that has been downloaded onto an electronic device (e.g.,devices 100, 300, and/or 500) and is ready to be launched (e.g., becomeopened) on the device. In some embodiments, a downloaded applicationbecomes an installed application by way of an installation program thatextracts program portions from a downloaded package and integrates theextracted portions with the operating system of the computer system.

As used herein, the term “open application” or “executing application”refers to a software application with retained state information (e.g.,as part of device/global internal state 157 and/or application internalstate 192). An open or executing application is, optionally, any one ofthe following types of applications:

-   -   an active application, which is currently displayed on a display        screen of the device that the application is being used on;    -   a background application (or background processes), which is not        currently displayed, but one or more processes for the        application are being processed by one or more processors; and    -   a suspended or hibernated application, which is not running, but        has state information that is stored in memory (volatile and        non-volatile, respectively) and that can be used to resume        execution of the application.

As used herein, the term “closed application” refers to softwareapplications without retained state information (e.g., state informationfor closed applications is not stored in a memory of the device).Accordingly, closing an application includes stopping and/or removingapplication processes for the application and removing state informationfor the application from the memory of the device. Generally, opening asecond application while in a first application does not close the firstapplication. When the second application is displayed and the firstapplication ceases to be displayed, the first application becomes abackground application.

System Overview

FIG. 6 illustrates an example system 600 for aggregating wellness andother types of data. Wellness data can include, but is not limited to,any type of data associated with a person's health, such as theirphysical activity data, workout data, weight, heart rate, bloodpressure, blood glucose level, medication compliance, or the like.System 600 can be used to collect wellness data associated with a user,store the wellness data, present the wellness data to the user in usefulways, and selectively share the user's wellness data with other users orentities based on permissions set by the user. In addition, in someexamples, system 600 can further be used to collect non-wellness dataalong with wellness data, correlate the non-wellness data with thewellness data, and display the non-wellness data with the wellness data.

System 600 can include one or more user devices 610, which can includeany type of electronic device, such as a mobile phone, tablet computer,desktop computer, laptop computer, PDA, or the like. In some examples,user device 610 can include a device similar or identical to devices100, 300, or 500, described above. User device 610 can include anoperating system and a wellness database 611 (e.g., memory 102, 370, or518) for securely storing wellness or non-wellness data along withassociated metadata, such as the time the data was recorded, type ofdata, device used to record the data, user associated with the data, andthe like. User device 610 can further include application programminginterfaces (APIs) with access controls for storing data in the wellnessdatabase 611 and for accessing data stored in the wellness database 611.

User device 610 can be configured to receive wellness or non-wellnessdata from various sources and can store the received data in thewellness database 611. For example, user device 610 can be configured toreceive wellness or non-wellness data from sensors 602, 604, 606, and608. These sensors can include any type of sensor capable of obtainingwellness data, such as a biometric sensor, activity tracker, or thelike. For example, sensors 602, 604, 606, and 608 can include, but arenot limited to, a scale, blood pressure cuff, blood glucose monitor,electrocardiogram, step counter, gyroscope, accelerometer, SpO2 sensor,respiration sensor, posture sensor, stress sensor, photoplethysmogram,galvanic skin response sensor, temperature sensor, or the like. Sensors602, 604, 606, and 608 can also include other types of sensors, such asaudio sensors, ambient light sensors, electromagnetic sensors, touchsensors, capacitive sensors, and the like, for obtaining non-wellnessdata, such as situational data, temporal data, personal data, contactdata, and the like data. In some examples, each sensor can be a separatedevice, while, in other examples, any combination of two or more of thesensors can be included within a single device. For example, thegyroscope, accelerometer, photoplethysmogram, galvanic skin responsesensor, and temperature sensor can be included within a wearableelectronic device, such as a smart watch, while the scale, bloodpressure cuff, blood glucose monitor, SpO2 sensor, respiration sensor,posture sensor, stress sensor, and asthma inhaler can each be separatedevices. While specific examples are provided, it should be appreciatedthat other sensors can be used and other combinations of sensors can becombined into a single device.

Sensors 602, 604, 606, and 608 can be used to measure wellness ornon-wellness data continuously, intermittently, periodically, or at anyother desired frequency or interval of time. For example, sensors 602,604, 606, and 608 can be used to obtain a single measurement or multiplemeasurements over a length of time. Sensors 602, 604, 606, and 608 canbe configured to measure wellness or non-wellness data at the sameintervals of time, or can be configured to measure wellness ornon-wellness data at different intervals of time. These intervals may beset by a user or may be a default setting for each sensor. Additionally,sensors 602, 604, 606, 608 can be used to measure wellness ornon-wellness data at any time or location desired by the user. Moreover,sensors 602, 604, 606, and 608 can be used with or without thesupervision of a healthcare provider. For example, a user can usesensors 602, 604, 606, and 608 to obtain sensor measurements at homewithout the supervision of a medical professional.

In some examples, user device 610 can include software sensorapplications 613 (e.g., third party applications) associated with eachof sensors 602, 604, 606, and 608 for interfacing with the sensors toallow user device 610 to receive the wellness or non-wellness data. Inthese examples, the applications 613 can use the device's APIs to storethe wellness or non-wellness data in the wellness database 611 of userdevice 610. In some examples, device 610 can be a smart phone, tabletcomputer, or the like, and the software sensor applications 613 caninclude software applications downloadable onto device 610. It should beunderstood that “third party” can correspond to an entity different thanthe manufacturer of device 610 and/or the entity that created and/ormaintains the operating system of device 610. In these instances, thirdparty applications and their corresponding sensors can communicate andfunction within the operating system of device 610 according to apredefined device protocol associated with device 610.

The applications 613 can similarly use the device's APIs to access datastored in the wellness database 611. In other examples, user device 610can be configured to share one or more communication formats withsensors 602, 604, 606, and 608 to allow user device 610 to receive andinterpret the wellness or non-wellness data from the sensors. Thereceived data can then be stored in the wellness database 611 of userdevice 610.

User device 610 can further receive wellness or non-wellness data fromits own wellness or non-wellness data sensors 620 (e.g., sensors 168,359, and 520), from a user interacting with user device 610, fromanother entity, such as a physician, or from other non-sensor sources.For example, using the device's APIs, wellness or non-wellness data canbe received from applications 617 (third party or first partyapplications) on user device 610, such as a clock application, acalendaring application, a gaming application, an application from ahealthcare provider, a messaging application, a physical activityapplication, a workout application, or the like. The wellness ornon-wellness data from the applications 617 can originate from sensors620, a user interacting with the applications, a remote database (e.g.,database for a medical website), a healthcare provider institution(e.g., via the institution's application 617), or the like. In theseexamples, the usage of the application 617 (e.g., how long you play avideo game application, when you play the video game, number of timesinteracting with a stock application, number of times interacting with asocial networking application, length of time interacting with a socialnetworking application, etc.), usage of user device 610 (e.g., length oftime on the phone or number of text messages sent as determined from aphone payment application, time spent browsing the Internet asdetermined from the device's browser, etc.), time spent listening tomusic as determined from a music or streaming radio application, timespent using a remote application for controlling a television, amount oftime or money spent on shopping websites, weather data from a weatherapplication (e.g., to determine how weather affects a user's health),type of events occurring in the user's life as determined from acalendar (e.g., meetings, birthdays, holidays, etc.), interactions withcertain people as determined from a contact list and/or calendarapplication and/or a messaging application and/or phone of user device610, or the like, can be received by user device 610 and stored in thewellness database 611.

In some examples, default or user-selected settings can be provided torestrict the access that at least one application (e.g., at least one ofapplications 613 and 617) on user device 610 has to the wellnessdatabase 611 of user device 610 (for both storage and retrievalpurposes) and to the sensor data generated by sensors 620 within userdevice 610 and/or sensor data generated by sensors 602, 604, 606, and608. For example, an application for tracking a user's running sessionscan be granted access to the data generated by the GPS sensor of userdevice 610, but can be prevented from accessing the user's bloodpressure data stored in the wellness database 611. In some examples, anentity other than the owner of user device 610 can set the authorizationsettings for various applications on user device 610. For example, themanufacturer of user device 610 and/or the entity that created and/ormaintains the operating system of user device 610 can evaluate theapplications to determine if they should be given access to the user'swellness data and/or sensor data generated or received by user device610. In some examples, these settings can be overridden by the user.User device 610 can further include a display for displaying the storedwellness data or non-wellness data.

FIG. 7 illustrates system 700 for sharing user wellness data. System 700can include user server 714 communicatively coupled to user device 610via network 712, which can include the Internet, an intranet, or anyother wired or wireless public or private network. User device 610 canbe configured to securely transmit the aggregated wellness ornon-wellness data and associated metadata stored on the device to userserver 714 for storage in user database 716. In some examples, thewellness or non-wellness data and associated metadata can be transmittedto user server 714 for storage in user database 716 in response to anexplicit request for such a transfer by the user of device 610, while,in other examples, the wellness or non-wellness data can be synced withthe data in user database 716 continuously, periodically,intermittently, or at any desired frequency. In yet other examples, theuser's wellness or non-wellness data can be stored only on user device610 and may not be stored in an external database.

In some examples, user server 714 and user database 716 can beconfigured to securely store a user's wellness or non-wellness datausing a public/private key system that only allows the owner of thewellness or non-wellness data to decrypt the data. Additionally, thewellness or non-wellness data stored in user database 716 can be storedanonymously (e.g., without identifying and/or personal information aboutthe user, such as a legal name, username, time and location data, or thelike). In this way, other users, hackers, and the owner/operator of userdatabase 716 cannot determine the identity of the user associated withthe data stored in database 716. In some examples, a user can accesstheir wellness or non-wellness data stored in user database 716 from auser device that is different than the one used to upload the wellnessor non-wellness data to user server 714. In these instances, the usercan be required to provide login credentials to access their wellness ornon-wellness data. User server 714 can be configured to perform theauthorization process to restrict access to the data within userdatabase 716.

System 700 can further include any number of other user devices 722 and724 coupled to network 712. In some examples, user devices 722 and 724can be operated by the same user as user device 610. In these instances,the user can access their wellness or non-wellness data stored in userdatabase 716 by providing user server 714 with the appropriatecredentials. In some examples, wellness and non-wellness data can besynced between user database 716 and one or more of user device 610,722, and 724. In other examples, the user of user devices 722 and 724can be a person that is different than the user of user device 610. Inthese examples, the users of devices 722 and 724 cannot access thewellness or non-wellness data of the user of user device 610 without theauthorization of the user of user device 610. If authorization is given,wellness or non-wellness data can be shared with the users of userdevices 722 and 724.

In some examples, any of the above described sources of wellness ornon-wellness data can be configured to measure, generate, or receivewellness or non-wellness data continuously, intermittently,periodically, or at any other desired frequency or interval of time. Assuch, the wellness or non-wellness data can similarly be stored orupdated in wellness database 611 or user database 716 continuously,intermittently, periodically, or at any other desired frequency orinterval of time. The frequencies and intervals of time used formeasuring, generating, receiving, or storing wellness or non-wellnesscan be the same or they can be different. Additionally, thesefrequencies and intervals can be default values or they can be set by auser to provide the user with wellness or non-wellness data that hasbeen updated within a desired length of time.

While not shown, it should be appreciated that many other user devicescan be coupled to user server 714 through network 712 to collect andstore wellness or non-wellness data for other users in a manner similarto that described above.

Activity Monitor

FIG. 8 illustrates an exemplary interface 800 for displaying a menu ofapplications on an electronic device, such as device 100, 300, 500, or610. As shown, interface 800 includes multiple application icons 802that, when selected by a user, causes the electronic device to open theassociated application. For example, in response to a user selection ofan application icon 802 corresponding to an application for monitoring auser's physical activity, an interface similar to interface 900, shownin FIG. 9, can be displayed. As shown, interface 900 can include adescription of the physical activity application and a page indicator902 indicating that other pages are available for viewing. In responseto a user selection to view another page, such as a swipe gesture fromthe right of the display to the left of the display, interface 1000,shown in FIG. 10, can be displayed. As shown, interface 1000 can includea description of a first goal of the physical activity application andthe page indicator 902. In response to a user selection to view anotherpage, such as a swipe gesture from the right of the display to the leftof the display, interface 1100, shown in FIG. 11, can be displayed. Asshown, interface 1100 can include a description of a second goal of thephysical activity application and the page indicator 902. In response toa user selection to view another page, such as a swipe gesture from theright of the display to the left of the display, interface 1200, shownin FIG. 12, can be displayed. As shown, interface 1200 can include adescription of a third goal of the physical activity application and thepage indicator 902. In response to a user selection to view anotherpage, such as a swipe gesture from the right of the display to the leftof the display, interface 1300, shown in FIG. 13, can be displayed. Asshown, interface 1300 can include a summary description of the threegoals of the physical activity application and the page indicator 902.

In some examples, in response to a user selection of the “Get Started”option of interface 1300, an interface similar to interface 1400, shownin FIG. 14, can be displayed. As shown, interface 1400 can includeselectable attribute elements 1402 for entering various user attributes,such as the user's sex, age, weight, and height. In response to aselection of any of elements 1402, the electronic device can display aninterface to allow the user to enter the desired attribute value. Theinterface can include any type of input mechanism, such as a text box, alist of values, a pull-down menu, or the like. In response to the userentering a particular attribute value, the electronic device can storethe entered information in the memory of the device and/or in a remotedatabase.

In some examples, the interfaces shown in FIGS. 9-13 can be displayedeach time the physical activity application is opened. In otherexamples, the interfaces shown in FIGS. 9-13 can only be displayed thefirst time that the physical activity application is opened. In someexamples, the electronic device can determine, before displayinginterface 1400, whether the user attributes (e.g., sex, age, weight, andheight) are available on the electronic device or an accessible remotedatabase. If it is determined that the user attributes are available,the electronic device may not display interface 1400. If it is insteaddetermined that some or all of the user attributes are unavailable, theelectronic device can display interface 1400. Since the electronicdevice can store the user attributes entered using interface 1400,interface 1400 may only be displayed the first time that physicalactivity application is opened.

In some examples, after displaying some or all of the interfaces shownin FIGS. 9-13 (or directly after displaying interface 800 if theinterfaces shown in FIGS. 9-13 are not displayed), the electronic devicecan perform process 1500, shown in FIG. 15, for generating and updatinga physical activity tracking interface. Process 1500 can be performedusing a device similar or identical to device 100, 300, 500, or 610 andcan include detecting movement associated with the device, recognizingit as being associated with a physical activity performed by the userusing the device, monitoring various attributes of the detected physicalactivity, and displaying one or more attributes of the physical activityon a display of the device. Some operations in process 1500 may becombined, the order of some operations may be changed, and someoperations may be omitted.

As described below, process 1500 provides an intuitive way to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 1502, the one or more processors of the device can cause, onthe display of the device, a display of a physical activity trackinginterface. The physical activity tracking interface can include anynumber of indicators representing any number of monitored attributes ofa user's physical activity. The indicators of the physical activitytracking interface can be updated in real-time in response to updates tothe values of the monitored attributes of physical activity. In thisway, the display of the device can provide real-time information aboutthe user's monitored physical activity. The indicator can include atext, an image, or combination thereof. For example, an animated imagecan be used to show a progression or otherwise changing status of amonitored attribute. In some examples, block 1502 can further includedisplaying additional indicators to provide more information about themonitored attributes, such as a goal value for each of the monitoredvalues, a progressive measure of the monitored values compared torespective goal values, an automatically adjusting goal value based on apassage of time (e.g., 10% of a whole goal value in the morninggradually being adjusted to increase the percentage as the time passes,etc.), a history of past physical activity (e.g., the highest/lowest, ordaily average over a month, a week, two days, last day, etc.), any ofthe above information associated with other users (e.g., thehighest/lowest, or daily average amount of physical activity performedby other users different from the user of the device), or the like.Information associated with other users wearing devices other than thedevice performing process 1500 can be collected through an externalserver that is configured to communicate with such devices. FIGS. 17-21,discussed in greater detail below, illustrate example physical activitytracking interfaces that can be displayed at block 1502 of process 1500.

At block 1504, one or more processors of the device can receive activitydata that is representative of sensed physical activity of a user froman activity sensor (e.g., sensors 168, 359, and 520). At block 1506, theone or more processors can process the received activity data todetermine whether the activity data indicates that a physical activity,as opposed to a gesture, has been performed by the user of the device.In some examples, the occurrence of a physical activity by the user canbe determined by analyzing the activity data and determining whether itreflects one or more characteristics that are associated with a userperforming a physical activity while wearing the device. Suchcharacteristics can include a minimum displacement per unit time, aspeed, a rate of change of body temperature, or the like.

After determining that a physical activity has been performed by theuser, the processor(s) can determine, at block 1508, a type of thedetected physical activity. This determination can be based on at leastthe activity data and a predetermined set of criteria for a certain typeof activity. The device can categorize detected physical activities intoany number of categories (e.g., 1 or more) and monitor differentattributes for each category. For example, the device can categorizedetected physical activities of a user of the device into twocategories—a first type and a second type. In some examples, the firsttype of physical activity can refer to all detected physical activitiesof a user of the device. The second type of physical activity can referto physical activities that satisfy certain required conditions that,for example, can include having activity intensities equal to or greaterthan a threshold intensity. Alternatively, the second type of physicalactivity can refer to physical activities that have intensities lessthan a threshold intensity. A threshold intensity can be represented asa distance traveled, a number of Calories burned, a number of stepstaken, any one or more of these attributes calculated per unit time, orthe like. In some examples, the device can adjust a threshold for one ormore categories of activities depending on the identified type of thedetected physical activity. For instance, the device can categorizeactivities as being of a second type if they have an activity intensityequal to or greater than a threshold intensity (e.g., a high intensity,an intensity corresponding to a brisk walk, etc.). This thresholdintensity can vary depending on whether the detected activity is awalking activity (in which case the threshold can be represented as aminimum number of steps taken per unit time), a running activity (inwhich case the threshold can be represented as a minimum distancetravelled per unit time), or all other types of activity (in which casethe threshold can be represented as a minimum number of Calories burnedper unit time). It should be appreciated that conditions other than theintensity level can be used to categorize physical activities, forexample, time(s) of a day when physical activity is detected (e.g., acategory for morning activities, another category for day activities, oranother category for evening activities, etc.), predetermined type(s) ofphysical activity (e.g., a category for standing activities, walkingactivities, running activities, etc.), or the like. One or moreconditions can be used alone or in combination to define a category or atype of physical activity.

In some examples, the first type of activity can refer to activity thatmeets a first set of criteria, a second type of activity can refer toactivity that meets a second set of criteria, a third type of activitycan refer to activity that meets a third set of criteria, and so on. Inthe determination process, the processor(s) of the device can determinewhether the activity data indicates that the associated physicalactivity meets the first set of criteria, the second set of criteria,and/or the third set of criteria (or other sets of criteria). Thecriteria can include any information detectable by the activity sensors,such as a speed greater than or equal to a threshold, a minimum numberof steps taken per unit time, a minimum amount of Calories burned perunit time, etc. In some examples, the different sets of criteria can benested such that the third type of activity is a subset of the secondtype, which can be a subset of the first type. In other examples, thedifferent sets of criteria can cause the types of activity to bemutually exclusive. In yet other examples, the different sets ofcriteria can cause the types of activity to be partially overlapping.

In some examples, the processor(s) can categorize a user's activity asbeing a first type of activity representing all forms of physicalactivity or a second type of activity representing physical activityequal to or greater than a threshold intensity (or, alternatively, lessthan the threshold intensity). In such cases, a first set of criteriafor the first type can simply require that the activity be a physicalactivity (rather than a gesture) and a second set of criteria for thesecond type can require having an intensity greater than or equal to(or, alternatively, less than) the threshold intensity. Intensity can bemeasured using any number of attributes of an activity, including butnot limited to, a distance traveled, a speed, a number of Caloriesburned, a number of steps taken, any one or more of these attributescalculated per unit time, or the like. Intensity can also be associatedwith a biological condition detectable by biometric sensors, includingbut not limited to, a heart rate, an amount of heat, or a rate of changein any of the foregoing conditions, etc. In some examples, the thresholdintensity of the second set of criteria can correspond to the intensityof a brisk walk or 3 Metabolic Equivalent of Tasks (METs). According tothe Centers for Disease Control and Prevention (CDC), a brisk walk iswalking at a pace of three to three and a half miles per hour or roughly20 minutes per mile. That equates to approximately five kilometers perhour or 12 minutes per kilometer. While example types of physicalactivity are provided above, it should be appreciated that other typesof physical activity can be used (e.g., standing, running, climbing,etc.).

In some examples, the criteria used by the device to determine type(s)of activity can be pre-set in the device. In other examples, thecriteria can be directly input by a user, such that the user cancustomize which activities are going to be monitored separately fromothers. In yet other examples, the criteria can be automaticallycalculated by the device based on the user's health information. Theuser's health information can be input by a user and can refer to user'sage, weight, gender, body mass index (BMI), average heart rate, averageblood pressure, or the like. Alternatively, the user's healthinformation can be stored in an external device configured tocommunicate with the device such that the device can receive the data togenerate customized criteria for the user of the device. In otherexamples, the external device can determine the customized criteria forthe user of the device and can transmit the determined criteria to thedevice.

At block 1510, the processor(s) can update the monitored attributes ofthe detected physical activity. The monitored attributes of the detectedactivity can be expressed in any standard, arbitrary, or other unit ofmeasurement, such as Calories burned, amount of time spent, distancetravelled, number of steps, etc. The monitored attributes of differenttypes of physical activity can be the same or different. Additionally,the monitored attributes can be stored as values in a memory or storage,and updating the monitored attributes at block 1510 can include updatingthese stored values. For example, if the detected movement of the devicecorresponds to a physical activity of a first type and not of any othertype, a stored value representing the aggregate amount of the first typeof activity can be updated at block 1510, and other stored valuesrepresenting other types of activity may not be updated. The updatingprocess can be performed in real-time in response to a detection of anynew physical activity to the extent that the detected physical activityhas attributes that are being monitored by the device.

Blocks 1502, 1504, 1506, 1508, and 1510 can be repeated any number oftimes and at any desired interval of time to detect a user's physicalactivity and to update the display of the physical activity trackinginterface accordingly. Additionally, it should be appreciated that whileblocks 1502, 1504, 1506, 1508, and 1510 are shown in a particular order,blocks 1502, 1504, 1506, 1508, and 1510 can be performed in any order,at the same time, or some of the blocks can be omitted. For example, thephysical activity tracking interface can be repeatedly updated at block1502 while activity data is being received at block 1504 and processedto update the monitored attributes at blocks 1506, 1508, and 1510 toprovide the user with current or real-time physical activityinformation. In other examples where the physical activity applicationis running in the background of the device or while the display of thedevice is deactivated, block 1502 can be omitted and blocks 1504, 1506,1508, and 1510 can repeatedly be performed to monitor the user'sphysical activity and update the monitored attributes such that anaccurate display of the attributes can later be provided to the userwhen the physical activity application is reopened or the display of thedevice is activated.

Note that details of the processes described above with respect tomethod 1500 (e.g., FIG. 15) are also applicable in an analogous mannerto the methods described below. For example, methods 1600, 2200, 2400,4000, 4800, 7900, 8600, and 9200 may include one or more of thecharacteristics of the various methods described above with reference tomethod 1500. For example, the activity data, activity types, displayedvalues and other elements described above with reference to method 1500optionally have one or more of the characteristics of the activity data,activity types, displayed values and other elements described herein(e.g., methods 1600, 2200, 2400, 4000, 4800, 7900, 8600, and 9200). Forbrevity, these details are not repeated below.

FIG. 16 illustrates an exemplary process 1600 for determining a typephysical activity and updating monitored attributes of the type physicalactivity. Process 1600 can be performed using a device similar oridentical to device 100, 300, 500, or 610 and can be used to performblocks 1604, 1608, and 1612 of process 1600. In the illustrated example,process 1600 can be used to determine if a physical activity fallswithin one or both of two types of physical activities—a first type anda second type. The first type of physical activity can be a physicalactivity that meets a first set of criteria, and the second type ofphysical activity can be a physical activity that meets a second set ofcriteria. In some examples, the first type of activity can be a physicalactivity detectable by the device, and the second type of activity canbe a physical activity that has an intensity greater than or equal to athreshold intensity. Some operations in process 1600 may be combined,the order of some operations may be changed, and some operations may beomitted.

As described below, process 1600 provides an intuitive way to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 1602, the activity data received at block 1504 of process 1500can be used to determine whether the physical activity represented bythe activity data corresponds to a first type based on a predeterminedfirst set of criteria. This can include determining whether the physicalactivity meets each criterion of the first set of criteria. For example,the first set of criteria can simply require that the physical activitybe a physical activity (as opposed to a gesture). In this example, block1602 can include determining whether the activity data represents aphysical activity rather than a gesture. If it is determined that thephysical activity represented by the activity data meets the first setof criteria, process 1600 can proceed to block 1604. Alternatively, ifit is determined at block 1602 that the physical activity represented bythe activity data does not meet the first set of criteria, process 1600can bypass the updating of the first value of block 1604.

At block 1604, a first value representing an attribute of the first typeof activity can be updated. The attribute can include any desiredattribute, such as an amount, an intensity level, a duration, a progressrelative to a set value, a trend over a time period, or the like, of theactivity. For example, the first value can represent an aggregate amountof active and/or resting Calories expended by the user in performing thefirst type of activity over a predetermined period of time (e.g., aday). In this example, the updating process performed at block 1604 caninclude adding, to a previously stored first value (representingpreviously measured Calories expended by the user), a value calculatedfrom the activity data that represents an amount of Calories expended bythe user in performing the recently detected physical activity.

Before, during, or after performing blocks 1602 and 1604, block 1606 canbe performed to determine whether the physical activity represented bythe activity data corresponds to a second type based on a predeterminedsecond set of criteria. Block 1606 can be similar to block 1602, exceptthat block 1606 can include determining whether the physical activitymeets each criterion of the second set of criteria. In some examples,the second set of criteria can cause the second type of physicalactivity to be mutually exclusive from the first type of physicalactivity. In other examples, the second set of criteria can cause thesecond type of physical activity to be partially overlapping with thefirst type of physical activity. In yet other examples, the second setof criteria can encompass the first set of criteria, such that thesecond type of physical activity can be a subset of the first type ofphysical activity. For example, the second set of criteria can requirethat the physical activity have an intensity that is equal to or greaterthan a threshold intensity (e.g., 3 METs, a threshold movement speed of3.5 miles per hour or a brisk walk, etc.). In this example, block 1606can include determining whether the activity data represents the usermoving at a speed that is greater than or equal to 3.5 miles per hour.If it is determined that the physical activity represented by theactivity data meets the second set of criteria, process 1600 can proceedto block 1608. Alternatively, if it is determined at block 1606 that thephysical activity represented by the activity data does not meet thesecond set of criteria, process 1600 can bypass the updating of thesecond value of block 1608.

At block 1608, a second value representing an attribute of the secondtype of activity can be updated. The attribute can include any desiredattribute, such as an amount, an intensity level, a duration, a progressrelative to a set value, a trend over a time period, or the like, of theactivity. For example, the second value can represent a duration of timethat the user performs the second type of activity over a predeterminedperiod of time (e.g., a day). In this example, the updating processperformed at block 1608 can include adding, to a previously storedsecond value (representing a previously measured duration of time thatthe user was performing the second type of activity), a value calculatedfrom the activity data that represents a duration of time that the userwas engaged in the second type of activity in performing the recentlydetected physical activity.

The attributes being monitored and updated for each of the types ofactivities can be the same or different. For example, the monitoredattribute of both the first and second types of activities can beCalories expended. Alternatively, the monitored attribute of the firsttype of activity can be Calories expended, while the monitored attributeof the second type of activity can be a duration of time performing thesecond type of activity. Additionally, the period of time over which thefirst and second types of activities are monitored can be the same ordifferent. For example, if different periods are used, the amount of thefirst type of physical activity can be aggregated over a day, while theamount of the second type of physical activity can be aggregated overtwo days. It should be appreciated that many other different periods oftime can be used to monitor each of the attributes.

In some examples, process 1600 can include additional determinationpaths (e.g., a third determination path represented by the dotted pathattached to blocks 1610 and 1612) to determine whether the physicalactivity corresponds to other types of activity. For example, block 1610can be performed before, during, or after performing blocks 1602, 1604,1606, and/or 1608 and can include determining whether the physicalactivity represented by the activity data corresponds to a third typebased on a predetermined third set of criteria. In some examples, thethird set of criteria can include both the first set of criteria and thesecond set of criteria, causing the third type of physical activity tobe a subset of the second type and a subset of the first type ofphysical activities. In other examples, the third set of criteria can beonly partially overlapping with the second set of criteria and/or thefirst set of criteria, or entirely mutually exclusive with respect toboth or either set. For example, the first, second, and third sets ofcriteria can be configured such that the first type includes a physicalactivity detectable (and recognizable as a physical activity rather thana gesture) by the device, the second type includes only a physicalactivity that has an intensity equal to or greater than a firstthreshold intensity (or an activity in which the user is standing), andthe third type includes only physical activities that have an intensitylower than a second threshold intensity. It should be appreciated thatthere can be numerous other ways to configure the criteria.

While FIG. 16 shows the detection of only three types of activities, itshould be appreciated that process 1600 can be used to determine anynumber of physical activity types and to update monitored attributes forthose physical activity types. For example, process 1600 can continue todetermine whether a physical activity corresponds to a fourth type, afifth type, sixth type, and so one, each followed by their respectiveupdating process, similar to the process shown in the illustratedexample. Additionally, while the blocks of process 1600 are shown anddescribed in a particular order, it should be appreciated that theblocks can be performed in other orders or at the same time. Forexample, the activity data can be used to determine whether the physicalactivity corresponds to the first, second, and third types at blocks1602, 1606, and 1610, respectively, at the same time or in anysequential order.

Referring back to FIG. 15, after performing process 1600 at blocks 1508and 1510, process 1500 can return to block 1502. At block 1502, theprocessor(s) may cause, on the display of the device, an updated displayof the indicators representative of each of the monitored values—e.g.,the first value, the second value, and the third value (if one exists).In some examples, the indicator may include a first indicatorrepresenting attributes of only the first value, a second indicatorrepresenting attributes of only the second value, and a third indicatorrepresenting attributes of only the third value. The first, second, andthird indicators can be simultaneously displayed on the display oralternatingly displayed. Each of the indicators can include one or moreof graphic images, animations, texts or other visual representations. Insome other examples, the indicators can include sound effects, hapticeffects, or any other non-visual effects. Further, one or moreindicators can be used to alert the user for occurrence of certainconditions, such as a continued inactivity of the user for a certainlength of time, a detection of a new physical activity, or anachievement of a daily goal, or the like. These indicatorsadvantageously provide a user glancing at the indicators with anoverview of their physical activity.

Note that details of the processes described above with respect tomethod 1600 (e.g., FIG. 16) are also applicable in an analogous mannerto the other methods described herein. For example, methods 1500, 2200,2400, 4000, 4800, 7900, 8600, and 9200 may include one or more of thecharacteristics of the various methods described above with reference tomethod 1600. For example, the activity data, activity types, displayedvalues and other elements described above with reference to method 1600optionally have one or more of the characteristics of the activity data,activity types, displayed values and other elements described herein(e.g., methods 1500, 2200, 2400, 4000, 4800, 7900, 8600, and 9200). Forbrevity, these details are not repeated.

FIGS. 17-21 illustrate different example interfaces that can bedisplayed on the device at block 1502 of process 1500. In theseexamples, the device is assumed to be a daily activity monitor thatcategorizes a user's physical activity into a first type (based on afirst set of criteria) and a second type (based on a second set ofcriteria), and monitors a daily aggregate amount of each type of theuser's activity. The first type can include a physical activitydetectable (e.g., recognizable as a physical activity as opposed to agesture) by the device, and the second type can include a physicalactivity that has an intensity equal to or greater than a thresholdintensity. While specific example parameters are described below, itshould be appreciated that different parameters can be used to configurethe device. For example, the device can monitor a user's activity overdifferent periods of time (e.g., 5 hours, 6 hours, 12 hours, 48 hours, aweek, etc.), can monitor a different number of types of activities(e.g., one, three, four, etc.), and/or can monitor different types ofactivities. Further, the device can monitor attributes other than anaggregate amount for each of the monitored types, such as an averageamount over a period of time, a frequency of activity, a maximum or aminimum amount, etc.

FIG. 17 illustrates an example physical activity tracking interface 1700that can be displayed at block 1502 of process 1500. Interface 1700 canbe updated in real time or any other desired interval of time to reflectcurrent values of the monitored attributes of the user's physicalactivity that are updated at block 1510 of process 1500. In someexamples, interface 1700 can reflect the values representative of thedaily total amount of the first type and the second type of physicalactivities that are stored in the memory and updated in response todetection of any new physical activity, as explained above in referenceto blocks 1508 and 1510 of process 1500.

In the illustrated example of FIG. 17, interface 1700 can include afirst indicator representative of the daily total amount of the firsttype of physical activity including all physical activities detectedfrom the user, and a second indicator representative of the daily totalamount of the second type of activity including only physical activitiesat or above a threshold intensity. The first indicator can include bothgraphic/image representation 1702 and textual representation 1706, andsimilarly, the second indicator can include both graphic/imagerepresentation 1704 and textual representation 1708. The first andsecond indicators can be updated in real time or any other desiredinterval of time in response to an update to the corresponding valuesstored in the memory as explained above in reference to blocks 1508 and1510 of process 1500.

In some examples, the memory of the device can store a first goal valuerepresentative of a daily goal amount for the first type and a secondgoal value representative of a daily goal amount for the second type ofphysical activities. In some examples, the first goal value can berepresented in the same measurement metric used to quantify the firsttype, and the second goal value can be represented in the samemeasurement metric used to quantify the second type of physicalactivity. In the illustrated example, the amount of the first type ofactivity is represented using the amount of Calories burned, and thus,the numeric value of the first goal value stored in the memoryrepresents the goal amount of Calories to be burned by the user per day(e.g., 300 Calories, 500 Calories, 1000 Calories, 2000 Calories, etc.).On the other hand, the amount of the second type of activity can berepresented using the amount of time spent performing the second type ofphysical activity, and thus, the numeric value of the second goal valuestored in the memory represents the goal amount of time to be spent bythe user for performing high intensity activities per day (e.g., 30minutes, 40 minutes, 60 minutes, etc.).

In some examples, as the aggregate amounts of the first and second typesof activities are updated, the one or more processors can compare theseupdated aggregate amounts to the respective goal values stored in thememory and cause, on the display, a display of the result of thecomparison. For example, graphic representation 1702 can represent afirst goal value and/or the user's progress toward reaching this goal.The size of graphic representation 1702 can be scaled such that its sizerepresents the first goal amount, and a portion of graphicrepresentation 1702 can be marked such that the marked portionrepresents the actual amount of the first type of activity performed bythe user. Alternatively or additionally, graphic representation 1702 caninclude a first portion (e.g., part 1702 a) that is representative ofthe total amount of the first type of activity (e.g., all activity)performed by the user and a second portion (e.g., part 1702 b) that isrepresentative of a difference between the total amount of the firsttype of activity and the first goal value. In other words, part 1702 ashows what user has achieved and part 1702 b shows what user needs toachieve to complete their goal. As shown, the first portion can be givena color or shading that differs from that of the second portion. In someexamples, the leading edge of the completed portion 1702 a of the ringcan be displayed having a different appearance or texture than thetrailing parts of the completed portion 1702 a of the ring. For example,the leading edge of the completed portion 1702 a of the ring (e.g., theleading edge as the completed portion traverses the ring in theclockwise direction) can be displayed in a brighter shade of a color,while the trailing parts of the completed portion of the ring can bedisplayed in a darker shade of the same color. This allows a user toeasily view their progress towards the goal. Additionally, in someexamples, if the current value of the value represented by portion 1702a exceeds the goal value, the leading edge of the completed portion 1702a of the ring can continue to traverse the ring and overlap a previouslycompleted portion of the ring. By displaying the leading edge using adifferent shade or texture, the user can distinguish the leading edgefrom a previously completed portion of the ring. Further, a ratiobetween a size of the first portion and a size of the second portion canbe equal to a ratio between the total amount of the first type ofactivity performed by the user and the difference between the totalamount of the first type of activity performed by the user and the firstgoal value.

In some examples, graphic representation 1704 can also represent asecond goal value and/or a user's progress toward reaching this goal.The size of graphic representation 1704 can be scaled such that its sizerepresents the second goal amount, and a portion of graphicrepresentation 1704 can be marked such that the marked portionrepresents the actual amount of the second type of activity performed bythe user. Alternatively or additionally, graphic representation 1704 caninclude a third portion (e.g., part 1704 a) that is representative ofthe total amount of the second type of activity (e.g., activity above athreshold intensity) performed by the user and a fourth portion (e.g.,part 1704 b) that is representative of a difference between the totalamount of the second type of activity and the second goal value. Inother words, part 1704 a shows what user has achieved and part 1704 bshows what user needs to achieve to complete their goal. In someexamples, the leading edge of the completed portion 1704 a of the ringcan be displayed having a different appearance or texture than thetrailing parts of the completed portion 1704 a of the ring. For example,the leading edge of the completed portion 1704 a of the ring (e.g., theleading edge as the completed portion traverses the ring in theclockwise direction) can be displayed in a brighter shade of a color,while the trailing parts of the completed portion of the ring can bedisplayed in a darker shade of the same color. This allows a user toeasily view their progress towards the goal. Additionally, in someexamples, if the current value of the value represented by portion 1704a exceeds the goal value, the leading edge of the completed portion 1704a of the ring can continue to traverse the ring and overlap a previouslycompleted portion of the ring. By displaying the leading edge using adifferent shade or texture, the user can distinguish the leading edgefrom a previously completed portion of the ring. Further, a ratiobetween a size of the third portion and a size of the fourth portion canbe equal to a ratio between the total amount of the second type ofactivity performed by the user and the difference between the totalamount of the second type of activity performed by the user and thesecond goal value.

In the illustrated example of FIG. 17, graphic representation 1702 is anouter ring and graphic representation 1704 is an inner ring that isconcentric to the outer ring. Each ring has two visually distinct parts.The outer ring has visually distinct parts 1702 a and 1702 b, and theinner ring has visually distinct parts 1704 a and 1704 b. These partscan be scaled to visually indicate relative progressive measures of thetotal amount of the first and second types of activities compared totheir respective goal values. In the illustrated example, outer ring1702 can be scaled such that the entire length of its circumference(1702 a+1702 b) represents the daily goal for the all activity (thefirst goal value). Part 1702 a of the ring can be configured torepresent the actual amount of activity performed by the user (e.g., thefirst value updated at block 1604), and the second part 1702 b can beconfigured to represent the amount of activity remaining to be completedby the user to achieve the goal. Respective size of parts 1702 a and1702 b can be updated in real-time to reflect the most currentprogressive measure of the total amount of all activity, as compared tothe first goal value. For example, as additional activity is detected,part 1702 a can be increased in size and part 1702 b can be decreased insize to give the appearance that the leading edge of part 1702 a istraveling in a clockwise direction along outer ring 1702. Ring parts1702 a and 1702 b can be scaled such that a ratio between the entirecircumference of ring 1702 and ring part 1702 a is equal to a ratiobetween the first goal value and the total amount of activity performedby the user.

Similarly, inner ring 1704 can be scaled such that the entire length ofits circumference (1704 a+1704 b) represents the second goal value(e.g., the daily goal amount for activity above a threshold intensity).Part 1704 a of the ring can represent the actual amount of activityabove the threshold intensity performed by the user while the secondpart 1704 b can represent the amount of activity above the thresholdintensity remaining to be completed by the user to achieve the secondgoal value. Respective size of parts 1704 a and 1704 b can be updated inreal-time to reflect the most current progressive measure of the user'stotal amount of activity above the threshold intensity, as compared tothe second goal value. For example, as additional activity above thethreshold intensity is detected and monitored at blocks 1504, 1506,1508, and 1510 of process 1500 by the device, part 1704 a can beincreased in size while part 1704 b can be decreased in size to give theappearance that the leading edge of part 1704 a is traveling in aclockwise direction along inner ring 1704. Ring parts 1704 a and 1704 bcan be scaled such that a ratio between the entire circumference of ring1704 and ring part 1704 a is equal to a ratio between the second goalvalue and the total amount of activity above the threshold intensityperformed by the user.

In the illustrated example of FIG. 17, the first goal value can be 1000Calories and the second goal value can be 40 minutes. In other words,the user's goal is to burn at least 1000 Calories per day regardless ofthe types of physical activity performed, and to perform at least 40minutes of exercise or activity above the threshold intensity per day.Text indicator 1706 shows that the user has burned a total of 750Calories by 6:15 p.m., which is the time shown by time indicator 1712.There can be another text indicator to indicate the actual value of thefirst goal or a text indicator to indicate the amount of the first typeof activity remaining (e.g., 250 Calories in this example) beforeachieving the first goal. Text indicator 1708 shows that the user hasspent a total of 20 minutes exercising or performing activity above thethreshold intensity by 6:15 p.m. There can be another text indicator toindicate the actual value of the second goal or a text indicator toindicate the amount of the second type of activity remaining (e.g., 20minutes in this example) before achieving the second goal. Since theuser has completed three-fourths of the first goal for all activity(e.g., burned 750 Calories out of the 1000 Calorie goal), part 1702 acan be configured to occupy approximately three-fourths of the entirecircumference of ring 1702. Similarly, since the user has completed halfof the second goal for activity having an intensity equal to or greaterthan a threshold intensity (e.g., spent 20 minutes out of the 40 minutegoal), part 1704 a can be configured to occupy approximately half of theentire circumference of ring 1704. As more activity or activity havingan intensity equal to or greater than the threshold intensity, part 1702a/1704 a can be animated to be increased in size while part 1702 b/1704b can be animated to be decreased in size.

Visually distinct parts of rings 1702 and 1704 permit a user of thedevice to readily recognize relative progressive measures of themonitored activity. The visual distinction is, in the illustratedexample, filled area (e.g., parts 1702 a and 1704 a) versus empty area(e.g., parts 1702 b and 1704 b). However, it is noted that differenteffects may be used to make the visual distinction, examples of whicheffects include, but are not limited to, applying different colors,hues, shapes, images, animations, intensity, brightness, or othereffects of the same sort. Further, as shown in the illustrated example,interface 1700 can include text indicators 1706, 1708, and 1712. Thefonts, sizes, and locations of the text indicators can vary depending onthe display specifications and any other desired visual configurations.

The goal values (e.g., the first goal value and the second goal value)can be directly inputted by a user of the device before the monitoringstarts. In other examples, the goal values can be automatically set bythe device based at least on user's health data (e.g., received usinginterface 1400), which may be stored in the device or in an externaldevice configured to communicate with the device. Health data caninclude information relating to the user's age, weight, gender, BMI,blood pressure, heart rate, or any other physical conditions. The deviceand/or the external device can perform predetermined computinginstructions (e.g., algorithms) on any portion of the user's health datato automatically determine the goal values. The goal values can bedetermined based on the user's progress over a certain period of timeand/or the training level selected by the user. Moreover, the goal canbe recalculated periodically based on the user's performance over eachprevious period of time. An example process that can be used tocalculate the goal values is described below with respect to FIG. 96.

In some examples, there can be additional goal values stored in thedevice's memory, such as a time-based goal so that the one or moreprocessors can compare the aggregate amounts of the first and secondtype of activities performed by the user to such goal values and cause,on the display, a display of the comparison. For example, interface 1700can further include one or more additional reference indicatorsrepresenting supplemental information relevant to the user's activity.In the illustrated example, the additional reference indicators areshown as carets 1718 and 1728 provided along the rings. Examples ofsupplemental information that can be additionally provided on thedisplay include, non-exclusively, timed-based goals that are adjusted inaccordance with a passage of time (e.g., certain percentage(s) of thegoal to be completed by certain time(s) of a day, such as 10% to becompleted by 10:00 am, 80% to be completed by 9:00 pm, etc. such thatthe indicator would be moving along the ring throughout the day toindicate the changing percentage of the goal to be completed dependingon the time of a day), history of a user's past activity (e.g., activityperformed by a user of the device on a particular day of the week, ahighest/lowest or daily average amount of activity of a certain categoryperformed by the user of the device over a month, a week, two days, lastday, etc.), activity data of other users different from the user of thedevice (e.g., a highest/lowest or daily average amount of activity ofcertain category performed by other users different from the user of thedevice, average amount of activity of a certain category performed byother users at a given time during the day, etc.), or the like.Indicators representing the information about the user's total amount ofall activity are provided on ring 1702, whereas indicators representingthe information about the user's total amount of activity above athreshold intensity are provided on ring 1704.

In some examples, the device can obtain the activity data of other usersfrom an external device that is configured to communicate with aplurality of monitors monitoring activity of the other users. Examplesof information the device can obtain from an external storage deviceinclude, non-exclusively, highest/lowest/average amount of activityperformed by other users over a certain time period, certain percentileamount of activity performed by other users, average progressive measureof amount of activity performed by other users which may be updated astime passes, or the like. In some other examples, device 100 can requestto receive data associated with only a particular group of users havingcommon conditions (e.g., physical conditions) as the user of device 100or other groups known or unknown to the user.

Referring to the example of FIG. 17, carets 1718 provided on outer ring1702 can represent a global average progressive measure of the totalamount of activity performed by a group of users. Since caret 1718 isplaced inside part 1702 a, the user of the device can see that he hasburned more Calories than other users in the group have done on averageby 6:15 p.m. Similarly, caret 1728 may also be provided on inner ring1704, representing a global average progressive measure of the totalamount of high intensity activity performed by a group of users. Sincecaret 1728 is placed outside part 1704 a, the user of the device can seethat other users in the group have spent more than 20 minutes on averageexercising or performing activity above the threshold intensity by 6:15p.m. Providing such information can motivate a user of the device toengage in more activities and exercises. As explained above, the displaycan display either one or both indicators 1718 and 1728.

The device can display some or all of indicators 1702, 1704, 1706, 1708,1712, 1718, and 1728. In some examples, the device can determine whichindicators the display will display based on a signal entered by a userof the device. Upon receiving a first input signal, the display candisplay rings 1702 and 1704. Upon receiving a second input signal, thedisplay can additionally display texts 1706 and 1708. Upon receiving athird input signal, the display can additionally display referenceindicators 1718 and 1728, and so forth. Input signals can be triggeredby a user of the device using various input mechanisms of the device,such as pressing a mechanical button of the device, detecting a movementof a rotatable input mechanism, touching a touch-sensitive display ofthe device, combinations of any of the input mechanisms, or the like. Inother examples, the display can display only indicators relating to oneof the monitored features, e.g., the total amount of all activity, anddisplay indicators 1702, 1706, and 1718. Then, upon receiving a triggersignal from a user of the device, the display can additionally displayindicators relating to the activity above the threshold intensity. Anyother variations in display configuration can be employed withoutdeparting from the core of this disclosure.

In some examples, the device can provide rewards to a user of the devicewhen the user achieves one or more goals. Examples of rewards include,but are not limited to, visual rewards, such as animations, glowing orpulsating graphics, 3D images, lighting effects, badges, or the like;sound rewards, such as alerts, ringtones, music, voice, or the like;vibrations; or any combinations of rewards thereof. The visual rewardscan be displayed over the indicators as complications (e.g., a smallerdisplay within the larger interface) with desired information. As usedherein, consistent with its accepted meaning in art, a complication canrefer to any clock face feature other than those used to indicate thehours and minutes of a time (e.g., clock hands or hour/minuteindications). Complications can provide different types of informationto a user, such as data obtained from an application, and theinformation conveyed to a user by a complication can be customizable.Alternatively, the indicators themselves can be displayed as acomplication overlaid on other visual displays. For example, theindicators can be displayed within a circular icon displayed over aconventional watch display showing a date and time. In the illustratedexample of FIG. 17, rings 1702 and 1704 can start glowing and/orpulsating once completed by the user. The same or different visualeffects can be displayed to the user in response to one of rings 1702and 1704 being completed additional times. For example, a brighter glowor pulsating effect can be displayed to the user for each subsequentcompletion of a ring. Further, in some examples, different types ofrewards can be used for rewarding different levels of achievements. If auser achieves the first goal without achieving the second goal (e.g.,completes ring 1702 without completing ring 1704), the display canprovide a first effect. If a user achieves the second goal withoutachieving the first goal (e.g., completes ring 1704 without completingring 1702), the display can provide a second effect that is the same ordifferent from the first effect. If a user achieves both the first andsecond goals (e.g., completes both rings 1702 and 1704), the display canprovide a third effect which is the same or different from the first andsecond effects. By providing rewards that are exciting give feedback tothe user, a user of the device can be motivated to engage in moreactivities and exercises.

FIG. 18 illustrates another example physical activity tracking interface1800 that can be displayed at block 1502 of process 1500. Interface 1800is similar to interface 1700, except that the same measurement metric isused to measure the first and second types of physical activities. Aswill be apparent to a person of ordinary skill in the art, differentmetrics can be used, such as, non-exclusively, amount of time spent,distance traveled, steps taken, or the like. In the illustrated exampleof FIG. 18, the goal values (e.g., the first and the second goal values)are both represented using the same measurement metric—the amount ofCalories burned, and have the identical numerical value of 1000Calories. However, in other examples, the first and second goal valuescan have different numerical values.

In the illustrated example of FIG. 18, interface 1800 includes a firstindicator representative of the daily total amount of all activity and asecond indicator representative of the daily total amount of activityabove a threshold intensity. The first indicator includes graphicrepresentation 1802 and textual representation 1806, each representingthe daily total amount of activity performed by the user. The secondindicator includes graphic representation 1804 and textualrepresentation 1808, each representing the daily total amount ofactivity above a threshold intensity performed by the same user.Optionally, interface 1800 can further include indicators 1818 and 1828.The configuration, functionalities, and possible variations of interface1800 are similar to those of interface 1700 explained with reference toFIG. 17, and therefore, the overlapping descriptions are omitted herein.

Similar to the example shown in FIG. 17, rings 1802 and 1804 areconfigured to represent respective progressive measures of the totalamount of all activity performed by the user compared to the first goalvalue and the total amount of activity above a threshold intensityperformed by the user compared to the second goal value. Indicators 1802and 1812 show that the user has performed three fourths of the dailygoal amount for all activity (the first goal value) by 6:15 p.m.Indicators 1804 and 1812 show that the user has performed one half ofthe daily goal amount for activity above a threshold intensity (thesecond goal value) by 6:15 p.m. As more activity is detected, part 1802a can be increased in size and part 1802 b can be decreased in size, andas more activity above a threshold intensity is detected, part 1804 acan be increased in size and part 1804 b can be decreased in size. Incertain examples, ring parts 1802 a and 1802 b can be scaled such thatthe ratio of the entire circumference of ring 1802 to filled part 1802 amatches the ratio of the first goal value to the actual amount of allactivity performed by the user. Similarly, ring parts 1804 a and 1804 bcan be scaled such that the ratio of the entire circumference of ring1804 to filled part 1804 a matches the ratio of the second goal value tothe actual amount of activity above a threshold intensity performed bythe user.

If the amount of all activity and the amount of activity above athreshold intensity are measured using the same metric unit (e.g., theunit of Calories burned) as shown in the illustrated example, a user cansee how much each type of activity contributes to another. Referring toFIG. 18, a user can see that out of 750 Calories he has burned in totalby 6:15 p.m., 500 of those were burned from exercising or performingactivity above a threshold intensity. Further, if the first and secondgoal values are the same (e.g., 1000 Calories) as is the case in theexample of FIG. 18, a user can always achieve the first goal (e.g.,completes outer ring 1802) if the user achieves the second goal. If thefirst and second goal values are different, it may not necessarily betrue that the user achieves the first goal automatically if the userachieves the second goal.

In some examples, the amount of one type of activity can be measuredusing more than one measurement metric. For example, the amount ofactivity above a threshold intensity can be measured using a firstmetric and a second metric. In such cases, the display of the device canalternatingly display an indicator representing the amount measured inthe first metric and another indicator representing the amount measuredin the second metric. For example, the display can alternatingly displayindicator 1800 and indicator 1700 if the activity above a thresholdintensity is measured using both the amount of Calories burned andamount of time spent performing the activity.

It is noted that indicators 1700 and 1800 disclosing two concentricrings are provided herein only as examples. As will be apparent to aperson of ordinary skill in the art, numerous other visualrepresentations may be used instead such as, non-exclusively, twoparallel lines, two vertical bars, two line graphs, side by sidecircles, or the like. FIGS. 19-21 illustrate such examples.

FIG. 19 illustrates an example physical activity tracking interface 1900having two parallel lines that can be displayed at block 1502 of process1500. In the illustrated example, line 1902 represents an attribute of afirst type of activity, such as the total amount of all activityperformed by a user of the device, and line 1904 represents an attributeof a second type of activity, such as the total amount of activity abovea threshold intensity performed by the same user. Line 1902 can bescaled such that the entire length represents the goal amount of allactivity (the first goal value), while solid part 1902 a represents theactual amount of activity performed by the user. Empty part 1902 brepresents the amount of activity remaining to be performed by the userto achieve the goal. As more activity is detected, solid part 1902 a canbe increased in size and empty part 1902 b can be decreased in size.Similarly, line 1904 can be scaled such that the entire lengthrepresents the goal amount for activity above a threshold intensity (thesecond goal value), while solid part 1904 a represents the actual amountof activity above a threshold intensity performed by the user. Emptypart 1904 b represents the amount of activity above a thresholdintensity remaining to be performed by the user to achieve the goal. Asmore activity above a threshold intensity is detected, solid part 1904 acan be increased in size and empty part 1904 b can be decreased in size.Thus, lines 1902 and 1904 can represent progressive measures of thetotal amount of all activity and the total amount of activity above athreshold intensity performed by the user. In certain examples, lines1902 and 1904 can be scaled such that the ratio of the entire length ofthe line to the solid part matches the ratio of the goal value to theactual amount performed by the user. Optionally, texts 1906 and 1908and/or carets 1918 and 1928, which have similar configuration,functionalities, and possible variations as texts 1706 and 1708 and/orcarets 1718 and 1728, explained above in reference to the example ofFIG. 17, can be provided.

FIG. 20 illustrates another example physical activity tracking interface2000 having two vertical bars that can be displayed at block 1502 ofprocess 1500. Bar 2002 having parts 2002 a and 2002 b and bar 2004having parts 2004 a and 2004 b can be configured and displayed in amanner similar to line 1902 having parts 1902 a and 1902 b and line 1904having parts 1904 a and 1904 b in FIG. 19, respectively. Similar to FIG.19, texts 2006 and 2008 and/or carets 2018 and 2028 can optionally beprovided.

FIG. 21 illustrates another example physical activity tracking interface2100 having two non-concentric rings that can be displayed at block 1502of process 1500. In the illustrated example, two side-by-side rings 2102and 2104 are provided. Left ring 2102 having parts 2102 a and 2102 b andright ring 2104 having parts 2104 a and 2104 b can be configured anddisplayed in a manner similar to ring 1702 having parts 1702 a and 1702b and ring 1704 having parts 1704 a and 1704 b in FIG. 17, respectively.Texts 2106 and 2108 and/or carets 2118 and 2128, which can have similarconfigurations, functionalities, and possible variations as texts 1706and 1708 and/or carets 1718 and 1728 explained above in reference to theexample of FIG. 17, can be provided. As will be apparent to a person ofordinary skill in the art, the examples shown in FIGS. 19-21 are notexhaustive, and various modifications can be made with respect to, forexample, shapes, visual effects, fonts, sizes, locations of each elementon the display, graph dimensions, color effects, intensity, brightness,or the like.

In some examples, after displaying some or all of the interfaces shownin FIGS. 9-13 (or directly after displaying interface 800 if theinterfaces shown in FIGS. 9-13 are not to be displayed), the electronicdevice can perform process 2200 and/or process 2400, shown in FIGS. 22and 24 for generating and updating an inactivity tracking interface.Processes 2200 and 2400 can be performed using a device similar oridentical to device 100, 300, 500, or 610, and can be performed at thesame or a different time than process 1500. Some operations in process2200 and/or 2400 may be combined, the order of some operations may bechanged, and some operations may be omitted.

As described below, process 2200 and/or 2400 provide intuitive ways tomonitor attributes of a user's physical activity or inactivity andgenerate user interfaces for displaying the same. The process reducesthe cognitive burden on a user when monitoring attributes of the user'sphysical activity or inactivity, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to monitor attributes of the user's physical activity orinactivity and generate user interfaces for displaying the same morequickly and more efficiently conserves power and increases the timebetween battery charges.

At block 2202, a display of an inactivity tracking interface can bedisplayed. As mentioned above, recent studies have found that extendedperiods of inactivity (e.g., sitting at a desk) can lead to serioushealth risks, such as an increased risk of heart attack. Some healthcareproviders recommend that individuals move at least once every hour(e.g., by getting up out of their chair to walk or to stand). Theinactivity tracking interface can be used to track the number ofhour-long segments (or segments of other lengths) that a user isinactive and prompt users to be active before the hour (or other lengthof time) elapses. To do so, the inactivity tracking interface caninclude a visual representation of an amount of a user's inactivity(e.g., a length of time the user is inactive as measured by aninactivity timer), an amount of detected user activity (e.g., a lengthof time the user is active, a number of steps taken by the user, anumber of Calories expended, or the like), or a combination thereof. Theuser can be categorized as being inactive when the device detects thatthe user is not engaged in a physical activity that meets apredetermined criteria. For example, inactivity can be characterized bythe absence of the user engaging in a physical activity that meets athreshold intensity (e.g., movement that expends a threshold number ofCalories per unit time, movement that exceeds a distance per unit timethreshold, or the like), the absence of the user engaging in specifiedtype of activity (e.g., standing, walking, running, swimming, climbingstairs, or the like), or a combination thereof.

FIG. 23 illustrates an exemplary inactivity tracking interface 2300 thatcan be displayed at block 2202 of process 2200. Interface 2300 caninclude a first visual representation of an amount of a user'sinactivity in the form of first inactivity indicator 2302, a secondvisual representation of the user's inactivity in the form of secondinactivity indicator 2306, and a third visual representation of theuser's inactivity in the form of inactivity counter 2308.

First inactivity indicator 2302 can include a numerical representationof a length of time that the user has been inactive (e.g., as indicatedby a timer of the device). For instance, in the illustrated example,first inactivity indicator 2302 indicates that the user has beeninactive for 52 minutes and 34 seconds. Second inactivity indicator 2306can include a graphical representation of the length of time that theuser has been inactive (e.g., a graphical representation of thenumerical value of first inactivity indicator 2302).

In some examples, first inactivity indicator 2302 and second inactivityindicator 2306 can represent a length of time that a user has beeninactive, up to an inactivity threshold duration. Upon reaching theinactivity threshold duration, the value represented by first inactivityindicator 2302 and second inactivity indicator 2306 can be reset (e.g.,to zero), and the value represented by inactivity counter 2308 (whichcan include a numerical value representing the number of times cycles auser has been inactive for the inactivity threshold duration) can beincremented. The inactivity threshold duration can have anypredetermined or user-selectable value, such as 10 minutes, 20 minutes,30 minutes, 1 hour, or the like. In this way, first inactivity indicator2302 and second inactivity indicator 2306 can display a length of timethat the user has been inactive, and inactivity counter 2308 canindicate the number of times that the user was inactive for a length oftime equal to the inactivity threshold duration.

In some examples, as shown in FIG. 23, second inactivity indicator 2306can include a ring that can include a completed first portion 2306 arepresentative of the length of time the user has been inactive and anuncompleted second portion 2306 b representative of a difference betweenthe inactivity threshold duration and the length of the time the userhas been inactive. For example, when the user has not been inactive(e.g., inactive for a length of time equal to zero), the ring may beentirely incomplete and absent from the display. As the length ofinactivity increases, the outline of the ring can be darkened, startingat one point along the ring (e.g., the top of the ring) and progressingin a clockwise direction around the ring to give the appearance that thering is being drawn on the display. The percentage of the ring that iscompleted can be equal to the length of time the user has been inactivedivided by the inactivity threshold duration. For example, if the userhas been inactive for 30 minutes and the inactivity threshold durationis one hour, then half of the ring can be completed. In other examples,second inactivity indicator 2306 can include other visualrepresentations, such as a line, bar, rectangle, or the like, where theportion of the visual representation that is displayed can berepresentative of the length of time the user has been inactive. In yetother examples, second portion 2306 b can instead be representative ofthe number of times that the user remained inactive for a continuoussegment of time equal to the inactivity threshold duration and firstportion 2306 a can instead be representative of a difference between thenumber of times that the user remained inactive for a continuous segmentof time equal to the inactivity threshold and the length of time overwhich the inactivity is being monitored (e.g., elapsed time in the dayor other period of time).

Interface 2300 can further include activity indicator 2310, which caninclude a numerical representation of an amount of consecutive activity(e.g., activity performed without stopping for more than a thresholdlength of time) that has been performed, up to an activity threshold.Upon reaching the activity threshold, the value represented by activityindicator 2310 can be reset (e.g., to zero), and the values representedby first inactivity indicator 2302 and second inactivity indicator 2306can also be reset (e.g., to zero). The threshold activity threshold canhave any predetermined or user-selectable value represented in anydesired unit of measurement, such as 50 steps, 75 steps, 100 steps, 1Calorie, 5 Calories, 30 seconds, 60 seconds, or the like. In someexamples, as shown in FIG. 23, activity indicator 2310 can include anumerical value of the amount of activity performed by the user (e.g.,duration standing, steps taken, length of time active, or the like). Inother examples, activity indicator 2310 can include a graphicalrepresentation of the amount of detected activity relative to theactivity threshold. The graphical representation can include a ringsimilar to that used for second inactivity indicator 2306 that isconcentric to the ring of second inactivity indicator 2306, or any othergraphical representation, such as a line, a bar, a rectangle, or thelike. In this way, activity indicator 2310 can display an amount ofdetected activity performed by the user and can show the user's progresstoward reaching the activity threshold required to reset firstinactivity indicator 2302 and second inactivity indicator 2306. Inparticular, the completed portion of the ring can be representative ofthe amount of detected activity and the missing potion of the ring canbe representative of the difference between the activity threshold andthe amount of detected activity. In other examples, such as when theactivity threshold is relatively small (e.g., 25 steps, 60 seconds,etc.), activity counter 2310 may not be included within the inactivitytracking interface.

Interface 2300 can further include time 2304 containing a numerical orgraphical representation of the time of day. For example, time 2304 ininterface 2300 indicates that the time is 1:27 a.m. In other examples,time 2304 may be excluded from interface 2300 and can be displayed inanother interface.

While interface 2300 is shown as occupying a majority of the display,interface 2300 can similarly be displayed as a complication on anotherinterface display with varying levels of information. As mentionedabove, consistent with its accepted meaning in art, a complication canrefer to any clock face feature other than those used to indicate thehours and minutes of a time (e.g., clock hands or hour/minuteindications). Complications can provide different types of informationto a user, such as data obtained from an application, and theinformation conveyed to a user by a complication can be customizable.For example, a user may select an option to cause interface 2300 to bedisplayed as a complication to cause a smaller version of interface 2300to be displayed overlaid on a display of a conventional watch faceshowing a date and time. As a result of occupying a smaller portion ofthe display, some of the elements of interface 2300, such as time 2304or activity indicator 2310, can be removed from the interface to allowthe other elements to be displayed in a size sufficient to be viewed bythe user.

Referring back to FIG. 22, at block 2204, activity data that isrepresentative of sensed physical activity of a user may be receivedfrom an activity sensor (e.g., sensors 168, 359, and 520). For example,processor(s) of the device can receive activity data from the activitysensors and can process the data to determine whether the user is active(e.g., performing a physical activity, such as standing, bicycling,jogging, walking, running, stepping side to side, swimming, jumping,going up stairs, intense bodily movements, such as wrestling, or thelike), whether the user is inactive, or whether the user is performing agesture (e.g., waving hands, moving fingers, such as typing, or thelike). The processor(s) can additionally or alternatively determineattributes of a detected physical activity, such as a duration of thedetected activity, time(s) of a day when the user performs the detectedactivity, amount of Calories burned by a user of the device whileperforming the detected activity, distance travelled by a user of thedevice while performing the detected activity, steps taken by a user ofthe device while performing the detected activity, elevation climbed bya user of the device while performing the detected activity,highest/lowest/average velocity of a user of the device while performingthe detected activity, highest/lowest/average heart rate of a user ofthe device while performing the detected activity,highest/lowest/average body temperature of a user of the device whileperforming the detected activity, other contextual information (toquantify if it is activity data or not), or the like.

At block 2206, an activity timer that measures a length of time that theuser is inactive can be controlled based on the activity data receivedat block 2204. For example, processor(s) of the device can be configuredto a control timer such that the timer starts in response to thereceived activity data indicating that the user is inactive, pauses inresponse to the received activity data indicating that the user isactive, and is reset in response to either the value of the inactivitytimer reaching the inactivity threshold or the activity data indicatingthat the user has performed an activity threshold amount of activity.The value of the inactivity timer can be the length of time that theuser is inactive that is represented by first and second inactivityindicators 2302 and 2306 of inactivity tracking interface 2300.

Blocks 2202, 2204, and 2206 can be repeated any number of times at andat any desired interval of time to detect a user's activity/inactivityand to update the display of the inactivity tracking interfaceaccordingly. Additionally, it should be appreciated that while blocks2202, 2204, and 2206 are shown in a particular order, blocks 2202, 2204,and 2206 can be performed in any order or at the same time. For example,the inactivity tracking interface can be repeatedly updated at block2202 while activity data is being received at block 2204 and processedto control the inactivity timer at block 1006 to provide the user withcurrent or real-time inactivity information. In some examples where thephysical activity application is running in the background of the deviceor while the display of the device is deactivated, block 2202 can beomitted and blocks 2204 and 2206 can repeatedly be performed to monitorthe user's activity and control the activity timer such that an accuratedisplay of the attributes can later be provided to the user when thephysical activity application is reopened or the display of the deviceis activated.

FIG. 24 illustrates an exemplary process 2400 that can be used toperform block 2206 of process 2200. The operations of the blocks ofprocesses 2200 and 2400 will be described below with reference to theexample inactivity tracking interfaces shown in FIGS. 25-39.

At block 2202 of process 2200, a device similar or identical to device100, 300, 500, or 610 can cause a display of an inactivity trackinginterface similar or identical to interface 2300 shown in FIG. 25. Asillustrated, interface 2300 includes a first inactivity indicator 2302that indicates that the user has been inactive for a length of timeequal to zero and a time indicator 2304 that indicates that the currenttime is 12:00 p.m. Additionally, inactivity indicator 2306 can includeonly second portion 2306 b, indicating that the user has been inactivefor a length of time equal to zero. At block 2204 of process 2200,activity data that is representative of sensed physical activity of auser of the device can be received as well as other data.

Proceeding to block 2402 of process 2400, it can be determined whetherthe activity data received at block 2204 indicates that the user isactive (e.g., performing an activity). In some examples, thedetermination made at block 2402 can include determining whether theuser is performing a predefined type of activity (e.g., standing,walking, running, swimming, or the like) or is performing any type ofactivity with an intensity greater than a threshold amount (e.g.,performing an activity that expends more than a threshold number ofCalories per minute, traveling at a speed greater than a thresholdamount, or the like). For purposes of explanation, the determinationmade at block 2402 will be described herein as determining whether theuser is walking. However, it should be appreciated that any othercriteria, such as whether the user is standing, jumping, climbing,performing a physical activity meeting a threshold intensity, or thelike, can similarly be used. If it is determined from the activity datafrom an activity sensor, such as an accelerometer, that the user iswalking, or has taken a step within a threshold length of time (e.g.,5-10 seconds), the process can return to block 2402 where the activitydata can continue to be monitored to detect when the user becomesinactive. Alternatively, if it is determined that the user is notwalking, or has not taken a step within the threshold length of time,the process can proceed to block 2404. In some examples, the absence ofdata from the activity sensors can cause a negative determination to bemade at block 2402 and the process to proceed to block 2404.

At block 2404, an inactivity timer that measures a length of time thatthe user is inactive can be started. For example, processor(s) of thedevice can start a timer to begin recording the length of time that theuser is inactive. The value of the inactivity timer can represent thelength of time that the user is inactive and can be visually representedby the first and second inactivity indicators 2302 and 2306 in theinactivity tracking interface 2300.

At block 2406, it can be determined whether or not updated activity datahas been received at block 2204 and if that activity data indicates thatthe user is performing an activity. This determination can be similar oridentical to the determination made at block 2402. If it is determinedthat the user is not performing an activity (or is not performing thepredefined type of activity), or has not performed an activity withinthe threshold length of time, the process can proceed to block 2408. Insome examples, the absence of data from the activity sensors can cause anegative determination to be made at block 2406 and the process toproceed to block 2408.

At block 2408, it can be determined whether the value of the inactivitytimer has reached an inactivity threshold. As mentioned above, theinactivity threshold can have any predetermined or user-selectablevalue, such as 10 minutes, 20 minutes, 30 minutes, 1 hour, or the like.If it is determined that the value of the inactivity timer has notreached the inactivity threshold, the process can return to block 2406.While the user remains inactive, blocks 2406 and 2408 can be repeated,causing the inactivity timer to continue counting. For example, FIG. 26shows an example view of interface 2300 after the user has remainedinactive for 15 minutes after interface 2300 in FIG. 25 was displayed.As shown, first inactivity indicator 2302 indicates that the length oftime the user has been inactive (e.g., as determined by the inactivitytimer) is 15 minutes. Similarly, a quarter of the ring (e.g., one-fourthof indicator 2306 is first portion 2306 a and three-fourths of indicator2306 is second portion 2306 b) of second inactivity indicator 2306 hasbeen completed to indicate that the user has been inactive forone-fourth of the 60 minute inactivity threshold. FIG. 27 showsinterface 2300 after the user has remained inactive for 20 minutes and13 seconds. As shown, first inactive indicator 2302 has been updatedwith the length of inactivity (e.g., as determined by the inactivitytimer) and second inactivity indicator 2306 has been animated to includea larger portion of a ring (e.g., approximately one-third of indicator2306 is first portion 2306 a and two-thirds of indicator 2306 is secondportion 2306 b), with the portion of the completed ring beingrepresentative of the length of inactivity relative to the inactivitythreshold. FIG. 28 shows interface 2300 after the user has remainedinactive for 45 minutes. As shown, first inactive indicator 2302 hasbeen updated with the length of inactivity (e.g., as determined by theinactivity timer) and second inactivity indicator 2306 has been animatedto have first portion 2306 a occupy a larger a larger portion of thering and to have second portion 2306 b occupy a smaller portion of thering, with the portion of the completed ring (e.g., first portion 2306a) being representative of the length of inactivity relative to theinactivity threshold. FIG. 29 shows interface 2300 after the user hasremained inactive for 52 minutes and 34 seconds. As shown, firstinactive indicator 2302 has been updated with the length of inactivity(e.g., as determined by the inactivity timer) and second inactivityindicator 2306 has been animated to have first portion 2306 a occupy alarger portion of the ring and to have second portion 2306 b occupy asmaller portion of the ring, with the portion of the completed ring(e.g., first portion 2306 a) being representative of the length ofinactivity relative to the inactivity threshold.

Referring back to FIG. 24, once the inactivity timer reaches theinactivity threshold, a positive determination can be made at block 2408and the process can proceed to block 2410. At block 2410, the value ofan inactivity counter can be incremented. The inactivity counter can beused to track the number of times that the user remained inactive for acontinuous segment of time equal to the inactivity threshold. The valueof the inactivity counter can be visually represented in the inactivitytracking interface by inactivity counter 2308. Process 2400 can thenproceed to block 2412 where the inactivity timer can be reset to a valueof zero. To illustrate, FIG. 30 shows an example view of interface 2300after the user has remained inactive for 60 minutes after interface 2300in FIG. 25 was displayed. As shown, inactivity counter 2308 indicatesthat the user has missed one segment of time as a result of block 2410being performed in response to the user continuously remaining inactivefor 60 minutes. Additionally, first inactivity indicator 2302 indicatesthat the length of time the user has been inactive (e.g., as determinedby the inactivity timer) is zero minutes as a result of the inactivitytimer being reset at block 2412. Similarly, indicator 2306 has beenmodified to include only second portion 1106 b to indicate that the userhas been inactive for zero minutes of the 60 minute inactivitythreshold.

After resetting the inactivity timer at block 2412, process 2400 canreturn to block 2402 where it can be determined whether or not updatedactivity data has been received at block 2204 and if that activity dataindicates that the user is active (e.g., by performing an activity). Ifit is determined that the user is performing an activity, or hasperformed an activity within a threshold length of time (e.g., 5-10seconds), the process can return to block 2402 where the activity datacan continue to be monitored to detect when the user becomes inactive.Alternatively, if it is determined that the user is not performing anactivity (or is not performing the predefined type of activity), or hasnot performed an activity within the threshold length of time, theprocess can proceed to block 2404. By resetting the inactivity timer atblock 2412 and starting the inactivity timer at block 2404 once it isdetermined that the user is again inactive, process 2400 can be used toidentify hour-long (or any other desired duration) segments of timeduring which the user is inactive (e.g., segments that can start at anytime), rather than identify predefined hour-long segments (e.g.,segments from 1 pm to 2 pm, 2 pm to 3 pm, etc.) during which the user isinactive.

At block 2404, the inactivity timer can again be started. While the userremains inactive, process 2400 can proceed to repeatedly perform blocks2406 and 2408, as discussed above. To illustrate, FIG. 31 shows anexample view of interface 2300 after the user has remained inactive for12 minutes and 25 seconds after interface 2300 in FIG. 30 was displayed(and 72 minutes and 25 seconds after interface 2300 in FIG. 25 wasdisplayed). As shown, inactivity counter 2308 indicates that the userhas missed one segment of time by continuously remaining inactive for 60minutes. Additionally, first inactivity indicator 2302 indicates thatthe length of time the user has been inactive during the current segmentof time (e.g., as determined by the inactivity timer) is 12 minutes and25 seconds. Similarly, the ring of second inactivity indicator 2306 hasbeen animated to have to have first portion 2306 a occupy a larger alarger portion of the ring and to have second portion 2306 b occupy asmaller portion of the ring, with the portion of the completed ring(e.g., first portion 2306 a) being representative of the 12 minutes and25 seconds that the user has been inactive.

If, at block 2406, it is instead determined that the user is performingan activity, or has performed an activity within a threshold length oftime (e.g., 5-10 seconds), the process can proceed to block 2414. Forexample, in response to the user taking a step as determined by theactivity sensor, it can be determined at block 2406 that the user isperforming an activity and is active. At block 2414, the inactivitytimer can be paused. For example, the processor(s) of the device canpause the timer to cause the value of the timer to remain constant.Process 2400 can then proceed to block 2416 where the activity detectedat block 2406 can be used to update an amount of detected activity. Theamount of detected activity can represent the physical activityperformed by the user using any desired metric, such as Caloriesexpended, steps taken, distance traveled, or the like, and can bevisually represented by activity indicator 2310 in the inactivitytracking interface. Continuing with the examples above that use walkingas the activity being detected at blocks 2402 and 2406, the amount ofdetected activity can be measured using steps taken. Thus, the amount ofdetected activity can be updated to include the number of steps taken bythe user as indicated by the activity data received from the activitysensors. To illustrate, FIG. 32 shows an example view of interface 2300after the user has taken one step after interface 2300 in FIG. 31 wasdisplayed. As shown, the values of inactivity counter 2308, firstinactivity indicator 2302, and second inactivity indicator 2306 have notchanged from that shown in FIG. 31 as a result of the inactivity timerbeing paused at block 2414. However, activity indicator 2310 has beendisplayed within interface 2300 and indicates that the user has takenone step (e.g., based on the value of the amount of detected activitythat was updated at block 2416).

At block 2418, it can be determined whether the amount of detectedactivity updated at block 2416 has reached an activity threshold. Asdiscussed above, the activity threshold can have any predetermined oruser-selectable value represented in any desired unit of measurement,such as Calories expended, steps taken, distance traveled, or the like.For example, the activity threshold can have a value of 100 steps. Sincethe user has only taken one step, it can be determined at block 2418that the amount of detected activity has not reached the activitythreshold. As a result, the process can proceed to block 2420.

At block 2420, it can be determined whether or not updated activity datahas been received at block 2204 and if that activity data indicates thatthe user is performing an activity. This determination can be similar oridentical to the determination made at blocks 2402 and 2406. If it isdetermined that the user is performing an activity (or is performing thepredefined type of activity), or has performed an activity within thethreshold length of time, the process can return to block 2416. Whilethe user continues to perform a physical activity (e.g., walking), orcontinues to perform the physical activity without stopping for morethan a threshold length of time (e.g., 5-10 seconds), and while theamount of physical activity remains less than the activity threshold,blocks 2416, 2418, and 2420 can be repeated to detect and record thephysical activity using the amount of detected activity value. Toillustrate, FIG. 33 shows an example view of interface 2300 after theuser has taken two steps after interface 2300 in FIG. 31 was displayed.As shown, the values of inactivity counter 2308, first inactivityindicator 2302, and second inactivity indicator 2306 have not changedfrom that shown in FIGS. 31 and 32 as a result of the inactivity timerbeing paused at block 2414. However, activity indicator 2310 has beenupdated to indicate that the user has taken two steps (e.g., based onthe value of the amount of detected activity that was updated at block2416). FIG. 34 shows an example view of interface 2300 after the userhas taken 99 steps after interface 2300 in FIG. 31 was displayed. Asshown, the values of inactivity counter 2308, first inactivity indicator2302, and second inactivity indicator 2306 have not changed from thatshown in FIGS. 31, 32, and 33 as a result of the inactivity timer beingpaused at block 2414. However, activity indicator 2310 has been updatedto indicate that the user has taken 99 steps (e.g., based on the valueof the amount of detected activity that was updated at block 2416).

If, at block 2418, it is instead determined that the amount of detectedactivity has reached the activity threshold, the process can proceed toblock 2422. At block 2422, the amount of detected activity can be resetto zero and the process can proceed to block 2412 where the inactivitytimer can also be reset to zero. For example, the processor(s) of thedevice can reset the value of the amount of detected activity and canreset the timer to a value of zero. To illustrate, FIG. 35 shows anexample view of interface 2300 after the user has taken 100 steps afterinterface 2300 in FIG. 31 was displayed. As a result of performing anamount of activity equal to or greater than the activity threshold, theinactivity timer has been reset at block 2412, causing first inactivityindicator 2302 to indicate that the length of time the user has beeninactive (e.g., as determined by the inactivity timer) is zero minutes.Similarly, the ring of second inactivity indicator 2306 has beenanimated to include only second portion 2306 b to indicate that the userhas been inactive for zero minutes of the 60 minute inactivitythreshold. Additionally, activity indicator 2310 has been removed fromthe display in response to the amount of detected activity being resetat block 2422.

After resetting the inactivity timer at block 2412, process 2400 canreturn to block 2402 where it can be determined whether or not updatedactivity data has been received at block 2204 and if that activity dataindicates that the user is performing an activity. If it is determinedthat the user is performing an activity, or has performed an activitywithin a threshold length of time (e.g., 5-10 seconds), the process canreturn to block 2402 where the activity data can continue to bemonitored to detect when the user becomes inactive. Alternatively, if itis determined that the user is not performing an activity (or is notperforming the predefined type of activity), or has not performed anactivity within the threshold length of time, the process can proceed toblock 2404. At block 2404, the inactivity timer can again be started.While the user remains inactive, process 2400 can proceed to repeatedlyperform blocks 2406 and 2408, as discussed above. To illustrate, FIG. 36shows an example view of interface 2300 after the user has remainedinactive for 12 minutes after interface 2300 in FIG. 35 was displayed.As shown, inactivity counter 2308 indicates that the user has missed onesegment of time by continuously remaining inactive for 60 minutes.Additionally, first inactivity indicator 2302 indicates that the lengthof time the user has been inactive during the current segment of time(e.g., as determined by the inactivity timer) is 12 minutes. Similarly,the ring of second inactivity indicator 2306 has been animated to haveto have first portion 2306 a occupy a larger a larger portion of thering and to have second portion 2306 b occupy a smaller portion of thering, with the portion of the completed ring (e.g., first portion 2306a) being representative of the 12 minutes that the user has beeninactive.

As discussed above, if the user begins to perform an activity, such aswalking five steps, a positive determination can be made at block 2406and the process can proceed to block 2414. At block 2414, the activitytimer can be paused, and at block 2416 the amount of detected activitycan be updated to include the five steps taken by the user. Toillustrate, FIG. 37 shows an example view of interface 2300 after theuser has taken five steps after interface 2300 in FIG. 36 was displayed.As shown, the values of inactivity counter 2308, first inactivityindicator 2302, and second inactivity indicator 2306 have not changedfrom that shown in FIG. 36 as a result of the inactivity timer beingpaused at block 2414. However, activity indicator 2310 has beendisplayed within interface 2300 and indicates that the user has takenfive steps (e.g., based on the value of the amount of detected activitythat was updated at block 2416).

Since the five steps taken by the user is less than the 100 stepactivity threshold, a negative determination can be made at block 2418and the process can proceed to block 2420. If, at block 2420, the userstops performing a physical activity, or stops performing the physicalactivity for more than a threshold length of time (e.g., 5-10 seconds),a negative determination can be made at block 2420 and the process canproceed to block 2424. In some examples, the absence of data from theactivity sensors can cause a negative determination to be made at block2420 and the process to proceed to block 2424. At block 2424, the amountof detected activity can be reset in a manner similar or identical toblock 2422 without resetting the inactivity timer. To illustrate, FIG.38 shows an example view of interface 2300 after the user has stoppedwalking, or has stopped walking for more than a threshold length oftime, after interface 2300 in FIG. 37 was displayed. As a result ofstopping the physical activity, the amount of detected activity has beenreset at block 2424 and activity indicator 2310 has been removed fromthe display. Additionally, since the activity timer was not reset, thevalues of first inactivity indicator 2302 and second inactivityindicator 2306 have not changed from those shown in FIG. 37.

If the user remains inactive, blocks 2402, 2404, 2406, and 2408 can beperformed to continue to record the amount of time that the user isinactive using the inactivity timer. To illustrate, FIG. 39 shows anexample view of interface 2300 one minute after interface 2300 in FIG.38 was displayed. As shown, first inactivity indicator 2302 and secondinactivity indicator 2306 have been updated to reflect the 13 minutevalue of the inactivity timer caused by the activity timer being startedat block 2404.

In some examples, process 2400 can further include resetting the valuesof the inactivity counter periodically or at predetermined times (e.g.,once each day, week, month, or the like). In these examples, the valueof the inactivity counter can be stored prior to being reset to trackthe number of times the user continuously remains inactive for a lengthof time equal to the inactivity threshold over time. For example, thevalue of the inactivity counter can be stored and then reset at the endof each day (e.g., at midnight). The recorded values of the inactivitycounter can allow the user to view the number of times that the userremained continuously inactive for 60 minutes from day to day.

In some examples, process 2200 or 2400 can further include generating anotification in response to the inactivity timer reaching a value thatis a threshold length of time less than the inactivity threshold. Thenotification can include any desired visual, audio, haptic, or othernotification to the user to indicate that the inactivity threshold isnearly expired. For example, a text notification can be displayed on thedisplay of the device when the inactivity timer reaches a value of 50minutes (10 minutes before the 60 minute inactivity threshold). Thisadvantageously gives the user the ability to preemptively get up beforethe inactivity threshold duration has passed.

In some examples, process 2200 or 2400 can further include generatingimages (e.g., badges) on the display of the device that representachievements attained by the user, such as reducing the number of timesthe user is continuously inactive for a length of time equal to theinactivity threshold (e.g., the recorded value of the inactivitycounter) by a threshold amount, reducing the number of times the user iscontinuously inactive for a length of time equal to the inactivitythreshold (e.g., the recorded value of the inactivity counter) to lessthan a predefined number, or the like. Other rewards, including visualrewards, such as animations, glowing or pulsating graphics, 3D images,lighting effects, badges, or the like; sound rewards, such as alerts,ringtones, music, voice, or the like; vibrations; or any combinations ofrewards thereof, can be provided to the user for other tasks completedby the user. For example, rewards can be given in response to theinactivity timer being reset, a time period ending and the user havingan inactivity counter value below a threshold amount, or the like.

In some examples, prior to resetting the inactivity timer at block 2412,the value of the inactivity timer can be added to a total length ofinactivity value that represents the total amount of time that the useris inactive. The total length of inactivity can be stored and reset atpredetermined times (e.g., once each day, week, month, or the like). Forexample, the total length of inactivity can be stored and then reset atthe end of each day (e.g., at midnight). The recorded values of thetotal length of inactivity can allow the user to view length of timethat the user is inactive (rather than or in addition to the number oftimes that the user remained continuously inactive for 60 minutes) fromday to day.

While the blocks of processes 2200 and 2400 are shown and described in aparticular order, it should be appreciated that the blocks of theseprocesses can be performed in different orders or at the same time. Forexample, while controlling the inactivity timer using process 2400,additional activity data can be received at block 2204 of process 2200and the inactivity tracking interface can be repeatedly updated at block2202.

Note that details of the processes described above with respect toprocesses 2200 and 2400 (e.g., FIGS. 22 and 24) are also applicable inan analogous manner to the other processes described herein. Forexample, processes 1500, 1600, 4000, 4800, 7900, 8600, and 9200 mayinclude one or more of the characteristics of the various methodsdescribed above with reference to processes 2200 and 2400. For example,the activity data, activity types, displayed values and other elementsdescribed above with reference to processes 2200 and 2400 optionallyhave one or more of the characteristics of the activity data, activitytypes, displayed values and other elements described herein (e.g.,processes 1500, 1600, 4000, 4800, 7900, 8600, and 9200). For brevity,these details are not repeated.

FIG. 40 illustrates an exemplary process 4000 for generating andupdating a combined physical activity/inactivity tracking interface thatcan be used to monitor attributes of a user's physical activity andinactivity. In some examples, process 4000 can be performed using adevice similar or identical to device 100, 300, 500, or 610. At block4002, a display of a combined physical activity/inactivity trackinginterface can be displayed. The combined physical activity/inactivitytracking interface can include visual representations of attributes ofany number of physical activity types similar to the indicators ofinterface 1700, shown in FIG. 17, as well as visual representations ofattributes of a user's inactivity similar to the indicators of interface2300, shown in FIG. 23. Some operations in process 4000 may be combined,the order of some operations may be changed, and some operations may beomitted.

As described below, process 4000 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

For example, FIG. 41 illustrates an exemplary activity/inactivitytracking interface 4100 that can be displayed at block 4002 of process4000. Interface 4100 can include a combined activity indicator 4101having a first visual representation of an attribute of a first type ofuser activity in the form of first indicator 4102. In some examples,first indicator 4102 can be controlled and displayed in a manner similaror identical to that of indicator 1702 of interface 1700 to represent anattribute of the first type of activity. For example, as discussed abovewith respect to FIGS. 15-21, a physical activity can be categorized intoany number of types based on a predetermined set of criteria for eachtype. The criteria can include any attribute of the physical activity orinformation detectable by the activity sensors, such as a speed greaterthan or equal to a threshold, a minimum number of steps taken per unittime, a minimum amount of Calories burned per unit time, etc. Forexample, the first set of criteria for the first type of physicalactivity can simply require that the activity be a physical activity(rather than a gesture). Additionally, similar to indicators 1702 and1704 of interface 1700, first indicator 4102 can represent a first valueof any attribute of the physical activity, such as an amount, anintensity level, a duration, a progress relative to a set value, a trendover a time period, or the like, of the activity. For example, the firstvalue can represent an aggregate amount of active and/or restingCalories expended by the user in performing the first type of activityover a predetermined period of time (e.g., a day).

In some examples, first indicator 4102 can further represent a firstgoal value for the represented attribute of the first type of physicalactivity. In these examples, the size of first indicator 4102 can bescaled such that its size represents the first goal amount, and aportion of first indicator 4102 can be marked such that the markedportion represents the actual value of the represented attribute of thefirst type of activity performed by the user. Alternatively oradditionally, first indicator 4102 can include a first portion (e.g.,portion 4102 a) that is representative of the value of the representedattribute of the first type of activity performed by the user and asecond portion (e.g., portion 4102 b) that is representative of adifference between the value of the represented attribute of the firsttype of activity and the first goal value. As shown, the first portion4102 a can be given a color or shading that differs from that of thesecond portion 4102 b. Further, a ratio between a size of the firstportion 4102 a and a size of the second portion 4102 b can be equal to aratio between the total amount of the first type of activity performedby the user and the difference between the total amount of the firsttype of activity performed by the user and the first goal value.

In some examples, first indicator 4102 can include a visual indicatorrepresentative of the type of activity that it represents (e.g., theright-facing arrow at the top of the ring). Additionally, in someexamples, the leading edge of the completed portion 4102 a of the ringcan be displayed having a different appearance or texture than thetrailing parts of the completed portion 4102 a of the ring. For example,the leading edge of the completed portion 4102 a of the ring (e.g., theleading edge as the completed portion traverses the ring in theclockwise direction) can be displayed in a brighter shade of a color,while the trailing parts of the completed portion of the ring can bedisplayed in a darker shade of the same color. This allows a user toeasily view their progress towards the goal. Additionally, in someexamples, if the current value of the value represented by firstindicator 4102 exceeds the goal value, the leading edge of the completedportion 4102 a of the ring can continue to traverse the ring and overlapa previously completed portion of the ring. By displaying the leadingedge using a different shade or texture, the user can distinguish theleading edge from a previously completed portion of the ring.

Activity indicator 4101 can further include a second visualrepresentation of an attribute of a second type of user activity in theform of second indicator 4104. In some examples, second indicator 4104can be controlled and displayed in a manner similar or identical to thatof indicator 1704 of interface 1700 to represent an attribute of thesecond type of activity. For example, as discussed above with respect toFIGS. 15-21, a physical activity can be categorized into any number oftypes based on a predetermined set of criteria for each type. Thecriteria can include any attribute of the physical activity orinformation detectable by the activity sensors, such as a speed greaterthan or equal to a threshold, a minimum number of steps taken per unittime, a minimum amount of Calories burned per unit time, etc. Forexample, the second set of criteria for the second type of physicalactivity can require that the physical activity have an intensitygreater than or equal to (or, alternatively, less than) a thresholdintensity, such as an intensity corresponding to a brisk walk or movingat a speed equal to or greater than 3 miles per hour. Additionally,similar to indicators 1702 and 1704 of interface 1700, second indicator4104 can represent a second value of any attribute of the physicalactivity, such as an amount, an intensity level, a duration, a progressrelative to a set value, a trend over a time period, or the like, of theactivity. For example, the second value can represent an aggregateduration of time that the user performed the second type of activityover a predetermined period of time (e.g., a day).

In some examples, second indicator 4104 can further represent a secondgoal value for the represented attribute of the second type of physicalactivity. In these examples, the size of second indicator 4104 can bescaled such that its size represents the second goal amount, and aportion of second indicator 4104 can be marked such that the markedportion represents the actual value of the represented attribute of thesecond type of activity performed by the user. Alternatively oradditionally, second indicator 4104 can include a first portion (e.g.,portion 4104 a) that is representative of the value of the representedattribute of the second type of activity performed by the user and asecond portion (e.g., portion 4104 b) that is representative of adifference between the value of the represented attribute of the secondtype of activity and the second goal value. As shown, the first portion4104 a can be given a color or shading that differs from that of thesecond portion 4104 b. Further, a ratio between a size of the firstportion 4104 a and a size of the second portion 4104 b can be equal to aratio between the total amount of the second type of activity performedby the user and the difference between the total amount of the secondtype of activity performed by the user and the second goal value.

In some examples, second indicator 4104 can include a visual indicatorrepresentative of the type of activity that it represents (e.g., thedouble right-facing arrow at the top of the ring). Additionally, in someexamples, the leading edge of the completed portion 4104 a of the ringcan be displayed having a different appearance or texture than thetrailing parts of the completed portion 4104 a of the ring. For example,the leading edge of the completed portion 4104 a of the ring (e.g., theleading edge as the completed portion traverses the ring in theclockwise direction) can be displayed in a brighter shade of a color,while the trailing parts of the completed portion of the ring can bedisplayed in a darker shade of the same color. This allows a user toeasily view their progress towards the goal. Additionally, in someexamples, if the current value of the value represented by firstindicator 4104 exceeds the goal value, the leading edge of the completedportion 4104 a of the ring can continue to traverse the ring and overlapa previously completed portion of the ring. By displaying the leadingedge using a different shade or texture, the user can distinguish theleading edge from a previously completed portion of the ring.

Activity indicator 4101 can further include a third visualrepresentation of an attribute of a user's inactivity in the form ofthird indicator 4106. In some examples, third indicator 4106 can becontrolled and displayed in a manner similar or identical to that ofindicator 2306 of interface 2300 to represent an attribute of the secondtype of activity. For example, as discussed above, the user can becategorized as being inactive when the device detects that the user isnot engaged in a physical activity that meets a predetermined criteria.For example, inactivity can be characterized by the absence of the userengaging in a physical activity that meets a threshold intensity (e.g.,movement that expends a threshold number of Calories per unit time,movement that exceeds a threshold distance per unit time, or the like),the absence of the user engaging in a specified type of activity (e.g.,standing, walking, running, swimming, climbing stairs, or the like), ora combination thereof. Additionally, similar to indicator 2306 ofinterface 2300, third indicator 4106 can represent a third value of anyattribute of the user's inactivity, such as an amount, a duration, aprogress relative to a set value, a trend over a time period, or thelike. For example, the third value can represent the length of time thatthe user has been inactive.

In some examples, third indicator 4106 can further represent aninactivity threshold duration value for the represented attribute of theuser's inactivity. The inactivity threshold can have any predeterminedor user-selectable value, such as 10 minutes, 20 minutes, 30 minutes, 1hour, or the like. In these examples, the size of third indicator 4106can be scaled such that its size represents the inactivity thresholdvalue, and a portion of third indicator 4106 can be marked such that themarked portion represents the actual value of the represented attributeof the user's inactivity. Alternatively or additionally, third indicator4106 can include a first portion (e.g., portion 4106 a) that isrepresentative of the value of the represented attribute of the user'sinactivity and a second portion (e.g., portion 4106 b) that isrepresentative of a difference between the value of the representedattribute of the user's inactivity and the inactivity threshold value.As shown, the first portion 4106 a can be given a color or shading thatdiffers from that of the second portion 4106 b. Further, a ratio betweena size of the first portion 4106 a and a size of the second portion 4106b can be equal to a ratio between the total amount of the user'sinactivity and the difference between the total amount of the user'sinactivity and the inactivity threshold value.

In other examples, third indicator 4106 can instead represent the numberof times that the user remained inactive for a continuous segment oftime equal to the inactivity threshold duration (e.g., the value of theinactivity counter controlled at block 2410 of process 2400). In theseexamples, the size of third indicator 4106 can be scaled such that itssize represents the number of time segments equal to the inactivitythreshold duration that have passed during a certain period of time, anda portion of third indicator 4106 can be marked such that the markedportion represents the number of times that the user remained inactivefor a continuous segment of time equal to the inactivity thresholdduration during the same period of time. For example, if the inactivitythreshold duration is equal to one hour and the period of time that isbeing monitored is one day, third indicator 4106 can include a secondportion (e.g., portion 4106 b) that is representative of a number oftimes that the user remained inactive for one continuous hour in the dayand a first portion (e.g., portion 4106 a) that is representative of thedifference between the number of times that the user remained inactivefor one continuous hour in the day and the number of hours that haveoccurred in the day. Thus, if four hours have elapsed in the day (e.g.,it is 4:00 am) and the user has been inactive for one continuous houronly once, second portion 4106 b can occupy one-fourth of thirdindicator 4106, and first portion 4106 a can occupy three-fourths ofthird indicator 4106 to signify that the user avoided being inactive fora continuous hour for three-fourths of the hours in the day. In thisway, a third indicator 4106 that is fully occupied by first portion 4106a can indicate that the user was never inactive for a continuous hourduring the day. The completed percentage of third indicator 4106 (e.g.,percentage of third indicator 4106 occupied by first portion 4106 a) candecrease or increase as the user becomes inactive for segments of timeequal to the inactivity threshold or avoids being inactive for segmentsof time equal to the inactivity threshold. As shown, the first portion4106 a can be given a color or shading that differs from that of thesecond portion 4106 b. Further, a ratio between a size of the secondportion 4106 b and a size of the second portion 4106 a can be equal to aratio between the number of time segments equal to the inactivitythreshold that have passed during a certain period of time and thedifference between the number of time segments equal to the inactivitythreshold that have passed during a certain period of time and thenumber of times that the user remained inactive for a continuous segmentof time equal to the inactivity threshold during the same period oftime.

In yet other examples, third indicator 4106 can instead represent anumber of segments of time during which the user performed a thresholdamount of a predetermined type of activity. In these examples, the sizeof third indicator 4106 can be scaled such that its size represents apredetermined (or goal) number of time segments that are each equal to apredetermined duration of time. In these examples, a portion of thirdindicator 4106 can be marked such that the marked portion represents thenumber of segments of time during which the user performed the thresholdamount of the predetermined type of activity. For example, thepredetermined number of time segments can be equal to 12 and thepredetermined duration of each of these segments can be 1 hour.Additionally, the threshold amount of the predetermined type of activitycan be 60 seconds (within a continuous 90 second segment of time) ofstanding. Thus, for each hour-long segment of time (e.g., 12-1 a.m., 1-2a.m., 2-3 a.m., etc.) that the user stands for at least 60 secondswithin a continuous 90 second segment of time, the size of first portion4106 a can be increased in size to occupy an additional 1/12 of thirdindicator 4106. Second portion 4106 b can be representative of a numberof segments of time equal to a difference between the predeterminednumber of time segments (12) and the number of time segments duringwhich the user performed the threshold amount of the predetermined typeof activity. Thus, if the user stood for at least 60 seconds within a 90second segment of time during 4 hours during the day, first portion 4106a can occupy one-third of third indicator 4106 (4 segments out of 12segments), and second portion 4106 b can occupy two-thirds of thirdindicator 4106 (8 segments out of 12 segments). In this way, as the userstands for at least 60 seconds within a 90 second segment of time in anhour, first portion 4106 a of a third indicator 4106 can grow in sizeand traverse third indicator 4106 in a clockwise direction. A thirdsegment 4106 that is fully occupied by first portion 4106 a can indicatethat the user reached their goal of standing at least 60 seconds withina 90 second segment of time during the predetermined number of segmentsof time (12). As shown, the first portion 4106 a can be given a color orshading that differs from that of the second portion 4106 b.

In some examples, third indicator 4106 can include a visual indicatorrepresentative of the type of activity that it represents (e.g., theupward-facing arrow at the top of the ring). Additionally, in someexamples, the leading edge of the completed portion 4106 a of the ringcan be displayed having a different appearance or texture than thetrailing parts of the completed portion 4106 a of the ring. For example,the leading edge of the completed portion 4106 a of the ring (e.g., theleading edge as the completed portion traverses the ring in theclockwise direction) can be displayed in a brighter shade of a color,while the trailing parts of the completed portion of the ring can bedisplayed in a darker shade of the same color. This allows a user toeasily view their progress towards the goal. Additionally, in someexamples, if the current value of the value represented by indicator4106 exceeds the goal value, the leading edge of the completed portion4106 a of the ring can continue to traverse the ring and overlap apreviously completed portion of the ring. By displaying the leading edgeusing a different shade or texture, the user can distinguish the leadingedge from a previously completed portion of the ring.

Interface 4100 can further include a reference indicator representingsupplemental information relevant to the user's activity on any of thefirst, second, or third indicators 4102, 4104, or 4106. In theillustrated example, the additional reference indicators are shown asreference indicator 4108 along the rings of first indicator 4102.Examples of supplemental information that can be additionally providedon the display include, non-exclusively, timed-based goals that areadjusted in accordance with a passage of time (e.g., certainpercentage(s) of the goal to be completed by certain time(s) of a day,such as 10% to be completed by 10:00 am, 80% to be completed by 9:00 pm,etc. such that the indicator would be moving along the ring throughoutthe day to indicate the changing percentage of the goal to be completeddepending on the time of a day), history of user's past activity (e.g.,activity performed by a user of device 100 on a particular day of theweek, a highest/lowest or daily average amount of activity of a certaincategory performed by the user of the device over a month, a week, twodays, last day, etc.), activity data of other users different from theuser of the device (e.g., a highest/lowest, or daily average amount ofactivity of certain category performed by other users different from theuser of the device), or the like.

While not shown, interface 4100 can further include text representationsof the values of the attributes represented by indicators 4102, 4104,and 4106. Additionally, in some examples, each indicator can bedisplayed in a different color. In these examples, the first portion ofeach indicator can be displayed in a different shade of color than thesecond portion of the same indicator. For example, the first portion4102 a can be displayed as bright green, while the second portion 4102 bcan be displayed as a dark or grayed-out green.

Referring back to FIG. 40, at block 4004, one or more processors of thedevice can receive activity data that is representative of sensedphysical activity of a user from an activity sensor. Block 4004 can besimilar or identical to blocks 1504 and 2204. At block 4008 the one ormore processors can process the received activity data to determinewhether the activity data indicates that a physical activity, as opposedto a gesture, has been performed by the user of the device in a mannersimilar or identical to that of block 1506, described above. At block4010, the one or more processors can determine a type of the detectedphysical activity in a manner similar or identical to that of block 1508of process 1500 and to that of process 1600, described above. At block4012, the one or more processors can update the monitored attributes ofthe detected physical activity in a manner similar or identical to thatof block 1510 of process 1500 and to that of process 1600, describedabove. At block 4014, the one or more processors can control an activitytimer that measures a length of time that the user is inactive based onthe activity data received at block 4004 in a manner similar oridentical to that of block 2206 of process 2200 and to that of process2400, described above.

The blocks of process 4000 can be repeated any number of times at and atany desired interval of time to detect a user's activity/inactivity andto update the display of the combined activity/inactivity trackinginterface accordingly. Additionally, it should be appreciated that whilethe blocks of process 4000 are shown in a particular order, the blockscan be performed in any order or at the same time. For example, thecombined activity/inactivity tracking interface can be repeatedlyupdated at block 4002 at any desired interval of time while activitydata is being received at block 4004 and processed to control the atblock 4004 and processed at blocks 4008, 4010, and 4010 to update theattributes of the various types of physical activity being monitored toprovide the user with current or real-time activity and inactivityinformation. In other examples where the physical activity applicationis running in the background of the device or while the display of thedevice is deactivated, block 4002 can be omitted and the remainingblocks of process 4000 can repeatedly be performed to monitor the user'sphysical activity and update the monitored attributes such that anaccurate display of the attributes can later be provided to the userwhen the physical activity application is reopened or the display of thedevice is activated.

Note that details of the processes described above with respect toprocesses 4000 (e.g., FIG. 40) are also applicable in an analogousmanner to the other processes described herein. For example, processes1500, 1600, 2200, 2400, 4800, 7900, 8600, and 9200 may include one ormore of the characteristics of the various methods described above withreference to processes 4000. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 4000 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 2200,2400, 4800, 7900, 8600, and 9200). For brevity, these details are notrepeated.

Other interfaces can be displayed to provide additional informationassociated with the attributes represented by the indicators ofinterface 4100. These other interfaces can be displayed in response to atap, swipe, or other gesture performed while interface 4100 is displayedon the device. For example, interface 4200, shown in FIG. 42, can bedisplayed in response to a swipe gesture performed from right to left ofthe display while interface 4100 is displayed. Interface 4200 caninclude first indicator 4102 of interface 4100 having first portion 4102a and second portion 4102 b. Unlike in interface 4100, first indicator4102 can be displayed within interface 4200 without second and thirdindicators 4104 and 4106. Interface 4200 can further include a textrepresentation 4202 of the current value of the attribute represented byfirst portion 4102 a and a text representation 4204 of the goal valueattribute represented by first indicator 4102. For example, textrepresentation 4202 indicates that first portion 4102 a represents 300Calories and text representation 4204 indicates that the entire firstindicator 4102 represents a goal value of 600 Calories. Thus, interface4200 indicates that the user has expended 300 Calories and has a goal of600 Calories. Interface 4100 can be displayed again in response to aswipe gesture performed from left to right of the display whileinterface 4200 is being displayed.

FIG. 43 illustrates another example interface 4300 that can be displayedin response to a swipe gesture performed from the bottom to the top ofthe display while interface 4200 is displayed. Interface 4300 canrepresent a more detailed view of the information displayed in interface4200 and can include attribute label 4302 indicating the type ofinformation being displayed within interface 4300, value 4304 indicatingthe value of the attribute (e.g., represented by first portion 4102 a inFIGS. 41 and 42), and graph 4306 showing the value of the measuredattribute over time. For example, attribute label 4302 indicates thatthe attribute being displayed is Calories expended, value 4304 indicatesthat 300 Calories have been expended, and graph 4306 shows the amount ofCalories expended at various times throughout the day. Interface 4200can be displayed again in response to a swipe gesture performed from thetop to the bottom of the display while interface 4300 is beingdisplayed.

FIG. 44 illustrates another example interface 4400 that can be displayedin response to a swipe gesture performed from right to left of thedisplay while interface 4200 is being displayed. Interface 4400 caninclude second indicator 4104 of interface 4100 having first portion4104 a and second portion 4104 b. Unlike in interface 4100, secondindicator 4104 can be displayed within interface 4400 without first andthird indicators 4102 and 4106. Interface 4400 can further include atext representation 4402 of the value of the attribute represented byfirst portion 4104 a and a text representation 4404 of the goal valuerepresented by second indicator 4104. For example, text representation4402 indicates that first portion 4104 a represents 11 minutes and textrepresentation 4404 indicates that the entire second indicator 4104represents a goal value of 30 minutes. Thus, interface 4400 indicatesthat the user has performed 11 minutes of a second type of physicalactivity (represented by second indicator 4104) and has a goal ofperforming 30 minutes of this second type of physical activity.Interface 4200 can be displayed again in response to a swipe gestureperformed from left to right of the display while interface 4300 isbeing displayed.

FIG. 45 illustrates another example interface 4500 that can be displayedin response to a swipe gesture performed from the bottom to the top ofthe display while interface 4400 is displayed. Interface 4500 canrepresent a more detailed view of the information displayed in interface4400 and can include attribute label 4502 indicating the type ofinformation being displayed within interface 4500, value 4504 indicatingthe value of the attribute (e.g., represented by first portion 4104 a inFIGS. 41 and 42), and graph 4506 showing the value of the measuredattribute over time. For example, attribute label 4502 indicates thatthe attribute being displayed is minutes performing the second type ofactivity, value 4504 indicates that the user has performed 11 minutes ofthe second type of activity, and graph 4506 shows the amount of timeperforming the second type of activity at various times throughout theday. Interface 4400 can be displayed again in response to a swipegesture performed from the top to the bottom of the display whileinterface 4500 is being displayed.

FIG. 46 illustrates another example interface 4600 that can be displayedin response to a swipe gesture performed from right to left of thedisplay while interface 4400 is being displayed. Interface 4600 caninclude third indicator 4106 of interface 4100 having first portion 4106a and second portion 4106 b. Unlike in interface 4100, third indicator4106 can be displayed within interface 4600 without first and secondindicators 4102 and 4104. Interface 4600 can further include a textrepresentation 4602 of the value represented by first portion 4106 a anda text representation 4604 of the value represented by third indicator4106. For example, text representation 4602 indicates that first portion4106 a represents 9 hour-long segments of time and text representation4604 indicates that the entire third indicator 4106 represents 12hour-long segments of time. Thus, interface 4600 indicates that the userhas performed a threshold amount of a predetermined type of activityduring 9 hour-long segments of time and has a goal of performing thethreshold amount of the predetermined type of activity during 12hour-long segments. Interface 4400 can be displayed again in response toa swipe gesture performed from left to right of the display whileinterface 4600 is being displayed.

FIG. 47 illustrates another example interface 4700 that can be displayedin response to a swipe gesture performed from the bottom to the top ofthe display while interface 4600 is displayed. Interface 4700 canrepresent a more detailed view of the information displayed in interface4600 and can include attribute label 4702 indicating the type ofinformation being displayed within interface 4700, value 4704 indicatingthe value of the attribute (e.g., represented by first portion 4106 a inFIGS. 41 and 42), and graphical representation 4706 showing the hoursduring the day counting toward the value represented by first portion4106 a in FIGS. 41 and 42. For example, attribute label 4702 indicatesthat the attribute being displayed is hour-long segments of time duringwhich the user performed the threshold amount of the predetermined typeof activity, value 4704 indicates that the user performed the thresholdamount of the predetermined type of activity during 9 hour-long segmentsof time, and graphical representation 4706 shows the hours during theday during which the user performed the threshold amount of thepredetermined type of physical activity (represented by shaded bars).Interface 4600 can be displayed again in response to a swipe gestureperformed from the top to the bottom of the display while interface 4700is being displayed.

While the examples provided above recite specific lengths of time,amounts of activity, and the like, it should be appreciated that thosevalues are provided only as examples and that any other values can beused.

Workout Monitor

Referring back to FIG. 8, in some examples, in response to a userselection of an application icon 802 corresponding to a workoutapplication for monitoring a user's workout, the workout application canbe opened and process 4800, shown in FIG. 48, can be performed. Process4800 can be performed by device 100, 300, 500, or 610 to detect movementassociated with the device during a workout, recognizing it as beingassociated with a physical activity performed by the user using thedevice, monitoring various attributes of the detected physical activity,determining attributes of the workout based on the monitored attributesof the detected physical activity, and displaying one or more of theattributes of the workout on a display of the device. Some operations inprocess 4800 may be combined, the order of some operations may bechanged, and some operations may be omitted.

As described below, process 4800 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 4802, the one or more processors of the device can receive aselection of a type of workout. The selected type of workout can includeany type of workout, such as running, walking, cycling, swimming, yoga,dancing, climbing, cross-training, rowing, or the like. In someexamples, the one or more processors of the device can cause, on thedisplay of the device, a display of a list of available types ofworkouts that a user can select. In these examples, the selection of thetype of workout can be received by the one or more processors of thedevice in response to a user indicating a selection of one of thedisplayed available types of workouts (e.g., via mouse click, touch on atouch sensitive display, or the like).

For example, FIG. 49 illustrates an example interface 4900 that can bedisplayed at block 4802 of process 4800. As shown, interface 4900 caninclude an application identifier 4902 indicating that the “Workout”application is being displayed, a time indicator 4904 indicating thecurrent time, and a list of workout types 4906 that includes a list ofselectable objects associated with available workouts that can beselected by a user. The types of workouts contained in the list ofworkout types 4906 can be ordered in any desired manner, such asalphabetically, by frequency of performance, by time since lastperformed, in a user-selected order, or combinations thereof. Forexample, the first selectable object can correspond to the workout thatwas most recently performed by the user (“Running”), and the remainingselectable objects can be ordered based on a frequency that thecorresponding workouts have been performed. In some examples, the listof workout types 4906 can include more types of workouts than can bedisplayed at one time on the display of the device. In these examples,the device can display the other types of workouts in response to a userinitiating a scroll operation (e.g., by making a swipe or touch and dragmotion on the touch sensitive display). While FIG. 49 shows an examplelist of workout types 4906, it should be appreciated that the list ofworkout types 4906 can include any number and types of workouts.

FIG. 50 illustrates another example interface 5000 that can be displayedat block 4802 of process 4800. Similar to interface 4900, interface 5000can include an application identifier 4902, a time indicator 4904, and alist of workout types 4906. However, in interface 5000, one selectableobject associated with a type of workout in the list of workout types4906 can be larger than the selectable objects associated with othertypes of workouts and can include additional information about theworkout type. This selectable object can correspond to the workout thatwas most recently performed by the user. For example, as shown in FIG.50, the selectable object for the “Running” workout type can be twice aslarge as the other selectable objects and can include informationassociated with the most recent workout of that type. In particular,information about the date, distance, pace, and elapsed time of the mostrecent run is displayed on the selectable object for the “Running” typeof workout. The selectable objects below the larger selectable objectcan be ordered based on a frequency that the corresponding workouts areperformed. Alternatively, the objects may be ordered by recency, or acombination of recency and frequency. In some examples, an interfacesimilar to interface 4900 can be displayed the first time that a user isusing the workout application on the device, while an interface similarto interface 5000 can be displayed during any subsequent use of theapplication.

At block 4804, a goal for the type of workout selected at block 4802 canbe received. The goal can include an identification of an attribute ofthe selected workout (e.g., a distance, a duration, a number of Caloriesburned, a pace, or the like) and a goal value for the attribute. Forexample, for a running type of workout, the goal received at block 4804can include a distance attribute and a value of 10 kilometers. Anotherexample goal can include a duration attribute and a value of 45 minutes,or a Calorie attribute and a value of 500 Calories. In some examples,the one or more processors of the device can cause, on the display ofthe device, a display of an interface that allows the user to select anattribute of the workout and to enter a desired value for thatattribute.

For example, FIG. 51 illustrates an example interface 5100 that can bedisplayed at block 4804 of process 4800 in response to receiving aselection of a “running” type of workout at block 4802 (e.g., by a userselecting the “Running” option in either interface 4900 or 5000). Asshown, interface 5100 can include a workout type identifier 5102indicating that the “Running” type of workout was selected, a timeindicator 5104 indicating the current time, a value 5106 for theattribute of the workout, buttons 5108 and 5110 for adjusting the value5106, a best value 5112 of the attribute of the workout, and a startbutton 5114 for selecting the goal and beginning the workout. In thisexample, the distance attribute of the workout is being selected and thevalue for that attribute can be selected by adjusting value 5106 up ordown using buttons 5110 or 5108, respectively. In other examples, thevalue for that attribute can be selected by moving (e.g., rotating) arotatable input mechanism of the device. The initial value 5106displayed in interface 5100 can be a default value (e.g., 0), a valueused in a previous workout, an average value from two or more previousworkouts, or any other desired value. Once the desired value 5106 isdisplayed, a user can select the start button 5114 to set the workoutgoal to be a distance goal having the value of value 5106. In someexamples, best value 5112 can be selectable and can cause the goal ofthe workout to be the attribute and value of the displayed best value5112. For example, in response to a selection of best value 5112 made bya user tapping on the touch-sensitive display at a locationcorresponding to best value 5112, the goal of the workout can be set toa distance goal of 5.0 miles. In other examples, best value 5112 canrepresent a value determined based on past performance of the user, theuser's contacts, the user's friends, a predefined group of users, or thelike. For example, best value 5112 can instead represent the longestdistance run by the user over a predetermined length of time (e.g., thelast week), an average distance run by the user, an average distance runby the user over a predetermined length of time (e.g., the last week), alongest distance run by the user's contacts/friends/running group, alongest distance run by the user's contacts/friends/running group over apredetermined length of time (e.g., the last week), an average distancerun by the user's contacts/friends/running group, an average distancerun by the user's contacts/friends/running group over a predeterminedlength of time (e.g., the last week), or the like. In some examples, thedevice can allow a user to select a different attribute of the workoutas the goal by displaying a different interface associated with adifferent attribute of the workout in response to a request from theuser. In some examples, the request can be made by a vertical orhorizontal swipe gesture across the touch sensitive display of thedevice, a button press, a movement of a rotatable input mechanism of thedevice, a user contact having a characteristic intensity above anintensity threshold on a display of the device, or any other desiredform of input.

FIG. 52 illustrates another example interface 5200 that can be displayedat block 4804 of process 4800 in response to receiving a selection of a“running” type of workout at block 4802 (e.g., by a user selecting the“Running” option in either interface 4900 or 5000) or in response to arequest to select a different workout attribute from interface 5100.Similar to interface 5100, interface 5200 can include a workout typeidentifier 5102 indicating that the “Running” type of workout wasselected, a time indicator 5104 indicating the current time, a value5106 for the attribute of the workout, buttons 5108 and 5110 foradjusting the value 5106, a best value 5112 of the attribute of theworkout, and a start button 5114 for selecting the goal and beginningthe workout. In this example, the Calories burned attribute of theworkout is being selected and the value for that attribute can beselected by adjusting value 5106 up or down using buttons 5110 or 5108,respectively. In other examples, the value for that attribute can beselected by moving (e.g., rotating) a rotatable input mechanism of thedevice. The initial value 5106 displayed in interface 5200 can be adefault value (e.g., 0), a value used in a previous workout, an averagevalue from two or more previous workouts, or any other desired value.Once the desired value 5106 is displayed, a user can select the startbutton 5114 to set the workout goal to be a Calorie goal having thevalue of value 5106. In some examples, best value 5112 can be selectableand can cause the goal of the workout to be the attribute and value ofthe displayed best value 5112. For example, in response to a selectionof best value 5112 made by a user tapping on the touch-sensitive displayat a location corresponding to best value 5112, the goal of the workoutcan be set to a Calorie goal of 625 Calories. In other examples, bestvalue 5112 can represent a value determined based on past performance ofthe user, the user's contacts, the user's friends, a predefined group ofusers, or the like. For example, best value 5112 can instead representthe most Calories burned by the user over a predetermined length of time(e.g., the last week), an average number of Calories burned by the user,an average number of Calories burned by the user over a predeterminedlength of time (e.g., the last week), the most Calories burned by theuser's contacts/friends/running group, a most Calories burned by theuser's contacts/friends/running group over a predetermined length oftime (e.g., the last week), an average number of Calories burned by theuser's contacts/friends/running group, an average number of Caloriesburned by the user's contacts/friends/running group over a predeterminedlength of time (e.g., the last week), or the like. In some examples, thedevice can allow a user to select a different attribute of the workoutas the goal by displaying a different interface associated with adifferent attribute of the workout in response to a request from theuser. In some examples, the request can be made by a vertical orhorizontal swipe gesture across the touch sensitive display of thedevice, a button press, a movement of a rotatable input mechanism of thedevice, a user contact having a characteristic intensity above anintensity threshold on a display of the device, or any other desiredform of input.

FIG. 53 illustrates another example interface 5300 that can be displayedat block 4804 of process 4800 in response to receiving a selection of a“running” type of workout at block 4802 (e.g., by a user selecting the“Running” option in either interface 4900 or 5000) or in response to arequest to select a different workout attribute from interface 5100 or5200. Similar to interfaces 5100 and 5200, interface 5300 can include aworkout type identifier 5102 indicating that the “Running” type ofworkout was selected, a time indicator 5104 indicating the current time,a value 5106 for the attribute of the workout, buttons 5108 and 5110 foradjusting the value 5106, a best value 5112 of the attribute of theworkout, and a start button 5114 for selecting the goal and beginningthe workout. In this example, the duration attribute of the workout isbeing selected and the value for that attribute can be selected byadjusting value 5106 up or down using buttons 5110 or 5108,respectively. In other examples, the value for that attribute can beselected by moving (e.g., rotating) a rotatable input mechanism of thedevice. The initial value 5106 displayed in interface 5300 can be adefault value (e.g., 0), a value used in a previous workout, an averagevalue from two or more previous workouts, or any other desired value.Once the desired value 5106 is displayed, a user can select the startbutton 5114 to set the workout goal to be a duration goal having thevalue of value 5106. In some examples, best value 5112 can be selectableand can cause the goal of the workout to be the attribute and value ofthe displayed best value 5112. For example, in response to a selectionof best value 5112 made by a user tapping on the touch-sensitive displayat a location corresponding to best value 5112, the goal of the workoutcan be set to a duration goal of 57 minutes. In other examples, bestvalue 5112 can represent a value determined based on past performance ofthe user, the user's contacts, the user's friends, a predefined group ofusers, or the like. For example, best value 5112 can instead representthe greatest length of time run by the user over a predetermined lengthof time (e.g., the last week), an average length of time run by theuser, an average length of time run by the user over a predeterminedlength of time (e.g., the last week), a greatest length of time run bythe user's contacts/friends/running group, a greatest length of time runby the user's contacts/friends/running group over a predetermined lengthof time (e.g., the last week), an average length of time run by theuser's contacts/friends/running group, an average length of time run bythe user's contacts/friends/running group over a predetermined length oftime (e.g., the last week), or the like. In some examples, the devicecan allow a user to select a different attribute of the workout as thegoal by displaying a different interface associated with a differentattribute of the workout in response to a request from the user. In someexamples, the request can be made by a vertical or horizontal swipegesture across the touch sensitive display of the device, a buttonpress, a movement of a rotatable input mechanism of the device, a usercontact having a characteristic intensity above an intensity thresholdon a display of the device, or any other desired form of input.

FIG. 54 illustrates another example interface 5400 that can be displayedat block 4804 of process 4800 in response to receiving a selection of a“running” type of workout at block 4802 (e.g., by a user selecting the“Running” option in either interface 4900 or 5000) or in response to arequest to select a different workout attribute from interface 5100,5200, or 5300. Similar to interfaces 5100 5200, and 5300, interface 5400can include a workout type identifier 5102 indicating that the “Running”type of workout was selected, a time indicator 5104 indicating thecurrent time, and a start button 5114 for selecting the goal andbeginning the workout. However, since interface 5400 may be used toperform a workout without a specific goal, interface 5400 may notinclude a value 5106 for the attribute of the workout, buttons 5108 and5110 for adjusting the value 5106, and a best value 5112 of theattribute of the workout.

In some examples, the color of the text and/or any other elementdisplayed in interfaces 5100, 5200, 5300, and 5400 can be color-codedbased on the associated attribute of the workout. For example, the textand/or elements displayed within interface 5100 can be displayed using afirst color (e.g., blue) associated with the distance attribute, thetext and/or elements displayed within interface 5200 can be displayedusing a second color (e.g., pink) associated with the Calorie attribute,the text and/or elements displayed within interface 5300 can bedisplayed using a third color (e.g., yellow) associated with theduration attribute, and the text and/or elements displayed withininterface 5400 can be displayed using a fourth color (e.g., green)associated with another attribute or with selecting no attribute.

In some examples, the device can select one of interfaces 5100, 5200,5300, and 5400 to display at block 4804 based on the workout attributeselected as a goal for the last workout, the frequency that the workoutattributes have been selected as a goal for previous workouts, auser-selected preference, or the like.

While example interfaces for selecting specific workout attributes forthe “running” type of workout have been provided in FIGS. 51-54, itshould be appreciated that interfaces for selecting any workoutattribute of any type of workout can be provided based on the types ofattributes associated with the workout selected at block 4802. Forexample, if the type of workout selected at block 4802 was “yoga,” aninterface for selecting a duration goal or a Calorie goal may bedisplayed, but an interface for selecting a distance goal may not bedisplayed.

Additionally, it should be appreciated that the interfaces can includeother input mechanisms for selecting a goal value, such as a text box, alist, a pull-down menu, or the like. For example, FIG. 55 illustratesanother example interface 5500 that can be displayed at block 4804 ofprocess 4800 in response to receiving a selection of a “running” type ofworkout at block 4802 (e.g., by a user selecting the “Running” option ineither interface 4900 or 5000) or in response to a request to select adifferent workout attribute from interface 5100, 5200, 5300, or 5400.For example, interface 5500 can be displayed in response to detecting auser contact having a characteristic intensity above an intensitythreshold on a display of the device or in response to a swipe gestureacross a touch-sensitive display while interface 5100 is beingdisplayed. Since interface 5100 is associated with the distance workoutattribute, interface 5500 can also be associated with the distanceworkout attribute. Similar to interfaces 5100, 5200, 5300, and 5400,interface 5500 can include a workout type identifier 5102 indicatingthat the “Running” type of workout was selected and a time indicator5104 indicating the current time. However, interface 5500 can furtherinclude a list of common goal values 5502. The list can include valuesfrequently selected by the user, values frequently selected by multipleusers, values associated with a popular or current event (e.g., adistance used by an Olympic event, a distance of a charity run, etc.).In other examples, the list can include values determined based on pastperformance of the user, the user's contacts, the user's friends, apredefined group of users, or the like. For example, the list caninclude a longest distance run by the user, a longest distance run bythe user over a predetermined length of time (e.g., the last week), anaverage distance run by the user, an average distance run by the userover a predetermined length of time (e.g., the last week), a longestdistance run by the user's contacts/friends/running group, a longestdistance run by the user's contacts/friends/running group over apredetermined length of time (e.g., the last week), an average distancerun by the user's contacts/friends/running group, an average distancerun by the user's contacts/friends/running group over a predeterminedlength of time (e.g., the last week), or the like. In response to aselection of one of values 5502, the goal of the workout can be selectedto be the attribute associated with interface 5500 and the selectedvalue 5502. For example, in response to a selection of the “5K” value5502, the goal of the workout can be set to a distance goal of 5kilometers. While interface 5500 shows example values for the distanceattribute, it should be appreciated that similar interfaces can bedisplayed for other workout attributes in response to a user request(e.g., a user contact having a characteristic intensity above anintensity threshold on a display of the device) while other interfaces5200, 5300, or 5400 (or other interfaces for other workout attributes)are being displayed and can include a list of common values for thoseother workout attributes.

In some examples, in response to a selection of start button 5114 in anyof interfaces 5100, 5200, 5300, or 5400, or in response to a selectionof one of the commonly used values 5502 in interface 5500, the devicecan display a countdown before beginning the workout selected at block4802 using the goal selected at block 4804. FIGS. 56, 57, 58, and 59illustrate example interfaces 5600, 5700, 5800, and 5900 having a timerring 5602 that can be displayed. In these examples, the countdown can bethree seconds long. However, other durations (including zero) can beused.

Referring back to FIG. 48, at block 4806 the workout can be initiatedand a workout interface can be displayed. Initiating the workout caninclude activating one or more activity sensors (e.g., sensors 168, 359,and 520) and recording activity data provided by those one or moreactivity sensors. In some examples, the activity sensors activated atblock 4806 can be selected based on the type of workout selected atblock 4802. For example, a biometric sensor for measuring heart rate,GPS sensor for measuring position, and accelerometer for measuringmotion to determine distance traveled can be activated if a running typeof workout was selected at block 4802. However, if a cycling type ofworkout was selected at block 4802, a biometric sensor for measuringheart rate and a GPS sensor for measuring position may be activated atblock 4802, but an accelerometer may not be activated. This may be donebecause an accelerometer may not provide reliable information indetermining distance traveled on a bike and can be left inactive to savepower. Other combinations of activity sensors can selectively beactivated for other types of workouts.

In some examples, the workout interface displayed at block 4806 caninclude information associated with one or more attributes of theworkout and the goal selected at block 4804. FIG. 60 illustrates anexample workout interface 6000 that can be displayed at block 4806 inresponse to receiving a selection of a “running” type of workout atblock 4802 (e.g., by a user selecting the “Running” option in eitherinterface 4900 or 5000). As shown, interface 6000 can include a workouttype identifier 6002 indicating that the “Running” type of workout wasselected, a time indicator 6004 indicating the current time, a firstindicator 6006 indicating a progress relative to the goal selected atblock 4804, a second indicator 6010 providing information associatedwith a workout attribute, and a workout attribute indicator 6012identifying the workout attribute represented by second indicator 6010.

First indicator 6006 can include a representation of the current valueand goal value of workout attribute selected as the goal at block 4804.In the example shown in FIG. 60, first indicator 6006 can include a ringhaving two visually distinct parts—a completed portion of the ring andan uncompleted portion of the ring. While not shown, in some examples,the uncompleted portion of the ring can be shaded or colored in a mannerthat is visually distinct from the completed portion. The two parts ofthe ring can be scaled to visually indicate relative progressivemeasures of the current value of the goal attribute compared to the goalvalue of the attribute. For example, the ring of first indicator 6006can be scaled such that the entire length of its circumferencerepresents the goal value of the selected workout attribute (e.g., adistance goal of 4 miles). The completed portion of the ring can beconfigured to represent the current value of the workout attribute(e.g., current distance of 3.0 miles traveled during the workout) andthe remaining uncompleted portion of the ring can be configured torepresent the amount remaining to be completed by the user to achievethe goal (e.g., 1 mile). In other words, the completed portion of thering represents what user has achieved, and the uncompleted portion ofthe ring represents what user needs to achieve to complete goal.Respective sizes of the completed and uncompleted portions of the ringcan be updated in real-time to reflect the most current progressivemeasure of the workout attribute. For example, as additional activity isdetected, the completed portion of the ring can increase in size in theclockwise direction and the uncompleted portion of the ring can decreasein size. In this way, the ring can start as being entirely uncompleted,and as the user gets closer to reaching the goal value, the ring canbegin to become completed in the clockwise direction.

In some examples, the leading edge of the completed portion of the ringof first indicator 6006 can be displayed having a different appearanceor texture than the trailing parts of the completed portion of the ring.For example, the leading edge of the completed portion of the ring(e.g., the leading edge as the completed portion traverses the ring inthe clockwise direction) can be displayed in a brighter shade of acolor, while the trailing parts of the completed portion of the ring canbe displayed in a darker shade of the same color. This allows a user toeasily view their progress towards the workout goal. Additionally, insome examples, if the current value of the attribute represented byfirst indicator 6006 exceeds the goal value, the leading edge of thecompleted portion of the ring can continue to traverse the ring andoverlap a previously completed portion of the ring. By displaying theleading edge using a different shade or texture, the user candistinguish the leading edge from a previously completed portion of thering.

In some examples, first indicator 6006 can further include a referenceindicator 6008 representing supplemental information relevant to theuser's workout. Examples of supplemental information that can beadditionally provided on the display include, non-exclusively,timed-based goals that are adjusted in accordance with a passage of time(e.g., certain percentage(s) of the goal to be completed by certain timewithin the workout, such as 10% to be completed by 10 minutes into theworkout, 80% to be completed by 80 minutes into the workout, etc. suchthat the indicator would be moving along the ring throughout the workoutto indicate the changing percentage of the goal to be completeddepending on the time during the workout), history of user's pastworkout(s) (e.g., amount of the attribute attained at the same timeduring a previous workout performed by the user, a best workoutperformed by the user, or an average workout performed by the user),workout data of other users different from the user of the device (e.g.,amount of the attribute attained at the same time during a previousworkout performed by one or more other users, a best workout performedby one or more other users, or an average workout performed by one ormore other users), or the like.

Second indicator 6010 can include a representation of a current value ofa workout attribute of the type of workout selected at block 4802. Theworkout attribute represented by second indicator 6010 can be the sameworkout attribute represented by first indicator 6006 or can represent adifferent workout attribute. In the example shown in FIG. 60, secondindicator 6010 can represent the current value of the distance attributeof the workout, which is the same workout attribute represented by firstindicator 6006. As shown, the current value of the distance attribute is3.0 miles, indicating that the user has run a total distance of 3.0miles during the current workout. Second indicator 6010 can be updatedin real-time to reflect the most current progressive measure of theworkout attribute. Workout attribute indicator 6012 provides a textualrepresentation of the workout attribute represented by second indicator6010.

In some examples, first indicator 6006 can be color-coded based on theworkout attribute that it represents. The colors can be the same asthose used in interfaces 5100, 5200, 5300, and 5400 to allow a user toquickly determine that attribute being represented. For example, sincefirst indicator 6006 represents the distance attribute, it can bedisplayed in the same color used to display interface 5100 (e.g., blue).Similarly, second indicator 6010 and attribute 6012 can also becolor-coded based on the workout attribute that they represent. Thecolors can be the same as those used in interfaces 5100, 5200, 5300, and5400. For example, since second indicator 6010 and attribute 6012represent the distance attribute, they can be displayed in the samecolor used to display interface 5100 (e.g., blue).

In some examples, the device can display a different attribute of theworkout for viewing within the workout interface in response to arequest from the user. In some examples, the request can be made by avertical or horizontal swipe gesture across the touch sensitive displayof the device, a touch on the touch sensitive display of the device, abutton press, a movement of a rotatable input mechanism of the device, auser contact having a characteristic intensity above an intensitythreshold on a display of the device, or any other desired form ofinput.

FIG. 61 illustrates another example interface 6100 that can be displayedin response to a request to view a different workout attribute frominterface 6000. Similar to interface 6000, interface 6100 can includethe workout type identifier 6002, time indicator 6004, first indicator6006, reference indicator 6008, second indicator 6010, and attributeindicator 6012. As shown, first indicator 6006 can represent the sameworkout attribute as that of first indicator 6006 in interface 6000(e.g., the distance attribute) because the goal of the workout has notchanged. However, the attribute represented by second indicator 6010 andattribute indicator 6012 in interface 6100 can be different than that ininterface 6000. In the illustrated example, second indicator 6010 andattribute indicator 6012 can represent the pace attribute of the workoutand can indicate that the user is currently running at an 8 minute permile pace. By changing the attribute represented by second indicator6010 and attribute indicator 1612, the device can allow a user tocustomize the workout interface to display information that is ofinterest to the user.

FIGS. 62 and 63 illustrate other example interfaces 6200 and 6300 thatcan be displayed in response to a request to view a different workoutattribute from interface 6000 or 6100. Similar to interfaces 6000 and6100, these interfaces can include the workout type identifier 6002,time indicator 6004, first indicator 6006, reference indicator 6008,second indicator 6010, and attribute indicator 6012. As shown in bothfigures, first indicator 6006 can represent the same workout attributeas that of first indicator 6006 in interfaces 6000 and 6100 (e.g., thedistance attribute) because the goal of the workout has not changed.However, the attribute represented by second indicator 6010 andattribute indicator 6012 in interfaces 6200 and 6300 can be differentthan those in interfaces 6000 and 6100. In particular, second indicator6010 and attribute indicator 6012 can represent a duration attribute ofthe workout in interface 6200 and a Calorie attribute of the workout ininterface 6300.

In some examples, the device can cause time indicator 6004 to representa different time value in response to a request from the user. In someexamples, the request can be made by a tap on time indicator 6004 on thetouch sensitive display of the device, a button press, a user contacthaving a characteristic intensity above an intensity threshold on adisplay of the device, or any other desired form of input. In responseto the request from the user, the device cause time indicator 6004 torepresent a different time value, such as the current duration attributeof the workout or the current pace attribute of the workout.

For example, FIG. 64 illustrates an example interface 6400 that can bedisplayed in response to a request cause time indicator 6004 torepresent a different time value from interface 6300. Interface 6400 canbe identical to interface 6300, except that time indicator 6004 ininterface 6400 can instead represent the current duration of the workout(e.g., 24 minutes). Similarly, FIG. 65 illustrates an example interface6500 that can be displayed in response to a request cause time indicator6004 to represent a different time value from interface 6300 or 6400.Interface 6500 can be identical to interfaces 6300 and 6400, except thattime indicator 6004 in interface 6500 can instead represent the currentpace of the workout (e.g., 8 minutes per mile).

In some examples, if second indicator 6010 and attribute indicator 6012represent a time attribute associated with the workout (e.g., durationattribute or pace attribute), the device may not cause time indicator6004 to represent that same time attribute in response to a request fromthe user to change the time represented by time attribute 6004. Forexample, if second indicator 6004 and attribute indicator 6012 bothrepresent a duration attribute of the workout, repeated requests tochange the time represented by time indicator 6004 may cause the deviceto cause time indicator 6004 to sequentially change between the currenttime and the pace of the workout, but may not represent the duration ofthe workout.

Referring back to FIG. 48, at block 4808 one or more processors of thedevice can receive activity data that is representative of sensedphysical activity of a user from an activity sensor. At block 4810, theone or more processors can process the received activity data to updatevalues of attributes of the workout stored on the device. For example, atimer can be used to update the duration of the workout based on adifference between a current value of the timer and a value of the timerwhen the workout was initiated at block 4806. Additionally, anaccelerometer, motion sensor, gyroscope, biometric sensor, and/or GPSsensor can be used to update a distance traveled during the workout andcan additionally or alternatively be used to update a number of Caloriesburned during the workout (in combination with the user's age, gender,and weight). The timer can be used in combination with theaccelerometer, motion sensor, and/or GPS sensor to update a pace of theuser during the workout. Other activity sensors can similarly be used todetermine and update values of other workout attributes.

At block 4812, one or more processors of the device can update theworkout interface (e.g., those shown in FIGS. 60-65) to reflect theupdated values of the workout attributes determined at block 4810. Forexample, the first indicator 6006 can be adjusted to reflect the user'sprogress toward the goal, reference indicator 6008 can be moved toreflect the updated pace value, and second indicator 6010 can be updatedto reflect the updated value of the attribute represented by secondindicator 6010.

Blocks 4808, 4810, and 4812 can continue to be repeated to provide theuser with up to date information associated with the attributes of theworkout via the workout interface. In some examples where the workoutapplication is running in the background of the device or while thedisplay of the device is deactivated, block 4812 can be omitted andblocks 4808 and 4810 can repeatedly be performed to monitor the user'sworkout and update the monitored attributes such that an accuratedisplay of the attributes can later be provided to the user when thephysical activity application is reopened or the display of the deviceis activated. In some examples, upon activating the display of thedevice, the workout interface previously displayed (e.g., one of theinterfaces displayed in FIGS. 60-65) before deactivating the display canbe displayed. This workout interface can be displayed while the deviceis in a locked state or can be displayed in response to unlocking thedevice.

In some examples, process 4800 can further include providingnotifications to the user. The notifications can be triggered based onone or more of the attributes meeting one or more notification criteria.For example, FIG. 66 illustrates an example notification interface 6600that can be displayed by the device in response to the current distanceof the workout being equal to half of the goal value of the distanceattribute. As shown, interface 6600 can include a workout typeidentifier 6602 indicating that the “Running” type of workout wasselected, a time indicator 6604 indicating the current time, a firstindicator 6606, a reference indicator 6608, and a notificationdescription 6610. In some examples, first indicator 6606 and referenceindicator 6608 can be enlarged versions of first indicator 6006 andreference indicator 6008 of the workout interface. In some examples, thedisplay of interface 6600 can be accompanied by an audio and/or hapticnotification to get the user's attention if the user is not looking atthe device when the notification is triggered.

Note that details of the processes described above with respect toprocesses 4800 (e.g., FIG. 48) are also applicable in an analogousmanner to the other processes described herein. For example, processes1500, 1600, 2200, 2400, 4000, 7900, 8600, and 9200 may include one ormore of the characteristics of the various methods described above withreference to processes 4800. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 4800 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 2200,2400, 4000, 7900, 8600, and 9200). For brevity, these details are notrepeated.

FIG. 67 illustrates another example notification interface 6700 that canbe displayed by the device in response to the user reaching the goal ofthe workout. Similar to interface 6600, interface 6700 can include aworkout type identifier 6602 indicating that the “Running” type ofworkout was selected, a time indicator 6604 indicating the current time,a first indicator 6606, a reference indicator 6608, and a notificationdescription 6610.

FIG. 68 illustrates another example notification interface 6800 that canbe displayed by the device in response to current value of an attributeof the workout being within a threshold value from the goal value andbeing done at a pace that is better than any previous workouts. Forexample, as shown in FIG. 68, the current value of the distance traveledis equal to 3.9 miles as indicated by description 6610 and is within athreshold value (e.g., 0.1 miles) from the goal value of 4.0 miles.Additionally, the pace of the user is better than a previous best pace(e.g., represented by reference indicator 6608) since the leading edgeof first indicator 6606 is closer to completing the ring than referenceindicator 6608. Thus, the device can cause a display of notificationinterface 6800 to notify the user that he/she is close to completing aworkout that breaks one or more workout attribute records. This canadvantageously motivate a user to finish their workout with additionaleffort to beat the previous record.

FIG. 69 illustrates another example notification interface 6900 that canbe displayed by the device in response to current value of an attributeof the workout being equal to half of the goal value of the workoutattribute and being done at a pace that is better than any previousworkouts. For example, as shown in FIG. 69, the current value of thedistance traveled is equal to 2.0 miles, which is equal to half of thegoal value of 4.0 miles. Additionally, the pace of the user is betterthan a previous best pace (e.g., represented by reference indicator6608) since the leading edge of first indicator 6606 is closer tocompleting the ring than reference indicator 6608. Thus, the devicecaused a display of notification interface 6900 to notify that user thathe/she is on the way to completing a workout that breaks one or moreworkout attribute records. This can advantageously motivate a user tofinish their workout with additional effort to beat the previous record.

While example notifications are described above, it should beappreciated that other notifications can be presented to the user inresponse to other notification criteria.

In some examples, the device can pause or end a workout in response to arequest from the user. In some examples, the request can be made by abutton press, a user contact having a characteristic intensity above anintensity threshold on a display of the device, or any other desiredform of input. For example, FIG. 70 illustrates an example interface7000 that can be displayed in response to a user contact having acharacteristic intensity above an intensity threshold on a display ofthe device while the workout interface is being displayed. As shown,interface 7000 can include a workout description 7002 identifying thetype of workout and the goal for the workout, a stop button 7004, and apause button 7006. In response to a selection of pause button 7006, theworkout can be paused, meaning that the one or more processors of thedevice stop receiving activity data from the activity sensors and/or donot include received activity data as part of the workout. For example,while paused, the duration of the workout may not be incremented withthe passage of time, the distance traveled may not be increased inresponse to movement by the user, and the Calories burned may not beincreased in response to movement by the user or passage of time.Additionally, in response to a selection of pause button 7006, thedevice can display the interface that was previously displayed when theuser pressed on the touch sensitive display, causing interface 7000 tobe shown. This can allow the user to navigate through the variousworkout interfaces to view any desired attribute of the workout.

In response to another button press, a user contact having acharacteristic intensity above an intensity threshold on a display ofthe device, or any other desired form of input while the workout ispaused, the device can display interface 7100. As shown, interface 7100can include a workout description 7002 identifying the type of workoutand the goal for the workout, a stop button 7004, and a resume button7102. In response to a selection of resume button 7102, the device canresume the workout and display the workout interface that was previouslydisplayed before interface 7100 was displayed. In other words, the oneor more processors of the device can resume receiving activity data fromthe activity sensors and/or can include received activity data as partof the workout. In response to a selection of stop button 7004 whileeither interface 7000 or 7100 is displayed, the device can end theworkout. In some examples, this can include deactivating some or all ofthe activity sensors and storing the attributes of the workout in thedevice as a completed workout. In some examples, the device can transmitthe stored workout attributes to be stored on a remote database (e.g.,to user serer 714 to be stored on user database 716).

In some examples, after receiving a request to stop the workout viainterface 7000 or 7100, one or more processors of the device can cause adisplay of a summary of the completed workout. For example, FIG. 72illustrates example summary interface 7200 that can be displayed. Asshown, interface 7200 can include summary details 7210 that can includea date of the workout, a time the workout was performed, the weatherwhen the workout was performed, and information associated with otherworkout attributes (e.g., distance, pace, heart rate, duration, or thelike). In some examples, some or all of details 7210 can be selected tocause the device to display detailed information associated with theselected detail. For example, in response to a user selection of “Pace,”the device can display a breakdown of the user's pace over timethroughout the workout.

Additionally, interface 7200 can provide the user with rewards, such asa display one or more achievements in the form of badges or other visualrepresentations. The achievements can be awarded to a user in responseto the one or more of the attributes of the workout satisfying apredetermined criteria or an achievement criteria, such as breaking aworkout attribute record, performing a threshold number of workouts overa length of time (e.g., 5 workouts within 5 days, etc.), or the like.Additional rewards that can be provided to the user can include, but arenot limited to, visual rewards, such as animations, glowing or pulsatinggraphics, 3D images, lighting effects, badges, or the like; soundrewards, such as alerts, ringtones, music, voice, or the like;vibrations; or any combinations of rewards thereof.

In some examples, additionally or alternatively to displaying therewards in interface 7200, the device can individually display one ormore of the rewards. For example, FIGS. 73, 74, and 75 illustrate reward7302 being presented to the user for the user achieving their best run.In the illustrated examples, reward 7302 is being animated on thedisplay as being rotated into view until facing the user, as shown inFIG. 75. It should be appreciated that the rewards can be displayed andanimated on the display in any other desired manner.

In some examples, the rewards and/or workout details can be shared withone or more other users or one or more social networks. In theseexamples, the rewards and/or workout details can be automatically sharedor the user can be prompted to share individual achievements or workoutdetails. The device can communicate the achievement or workoutinformation directly to user devices associated with other users and/orservers for sharing on social networking websites using any wired orwireless technology (e.g., via a communication unit).

Achievement Sharing

FIG. 76 illustrates an example interface 7600 that can be displayed inresponse to a user request to share a workout (e.g., received whileinterface 7200 is displayed) or to share a reward (e.g., while interface7300 is displayed). The request can include any type of user input, suchas a button press, a user contact having a characteristic intensityabove an intensity threshold on a display of the device, tap or swipe ona touch-sensitive display, or the like. As shown in FIG. 76, interface7600 can include a list of potential recipients 7602 with which the usercan share the reward or workout information. In some examples, list 7602can include contacts from the user's contact list, social mediaservices, combinations thereof, or the like. The recipients in the listcan be based on a frequency that the user communicates with therecipient, a designation by the user that the recipient is a favorite,or the like. In some examples, one or more of the recipients in list7602 can include a text description of the recipient (e.g., a name,phone number, email address, etc.) and/or an image representing therecipient (e.g., social media logo, picture of the recipient's face,etc.) In response to a selection of one or more of the recipients inlist 7602, the device can communicate the selected reward and/or workoutinformation to the selected recipients. In some examples when a rewardis selected, an animated file can be transmitted to the recipient toallow the recipient to view the reward in a manner similar to that shownin FIGS. 73-75.

While the examples described above are associated with the running typeof workout, it should be appreciated that similar interfaces can bedisplayed for other types of workouts. Additionally, while specificinterfaces are shown and described, it should be appreciated that otherinterfaces can be used to display the recorded attributes of a user'sworkout. For example, FIG. 77 illustrates another exemplary interface7700 that can be displayed in place of any of the interfaces shown inFIGS. 60-65. As shown, interface 7700 can include a text description7702 of a current value of an attribute of the workout, a textdescription 7704 of the goal of the workout, and an indicator 7706similar to indicator 6006 showing the user's progress towards the goal.For example, text description 7702 indicates that the user has traveled1.25 miles and text description 7704 indicates that the user's goal isto travel 5 miles. Indicator 7706 is one-fourth complete, indicatingthat the user is 25% towards their goal. Additionally, indicator 7706includes lines of varying length, where the length of each linerepresents and attribute of the user's physical activity atcorresponding distances during the run. For example, the length of eachline can indicate the user's running intensity (e.g., speed, number ofCalories burned per unit time, etc.) at the various distances of theuser's run. As the user continues to run, indicator 7706 can becompleted in the clockwise direction using additional lines havingvarying lengths based on the user's running intensity.

In some examples, activity data received at block 4808 of process 4800can also be used by the physical activity application to perform any ofprocesses 1500 (e.g., at block 1504), 2200 (e.g., at block 2204), and4000 (e.g., at block 4004). In this way, a workout monitored using theworkout application performing process 4800 can be counted towards thephysical activity attributes monitored by the physical activityapplication. In other words, the activity data corresponding to aworkout monitored using process 4800 can also be used to update thevalues of the physical activity attributes being monitored by thephysical activity application. For example, Calories expended during arunning workout can be counted towards the Calories expended andrepresented by first portion 4102 a in interface 4100. Similarly, theminutes spent running during the workout can be counted towards theminutes of physical activity over the threshold intensity represented byfirst portion 4104 a in interface 4100.

Third Party Activity Data

In some examples, the electronic device performing process 1500, 2200,4000, or 4800 can receive activity data from an activity sensor ofanother electronic device (e.g., another wearable electronic device,sensor 602, 604, 606, or 608, or user device 722 or 724) or from anapplication running on the electronic device other than the physicalactivity application or the workout application (e.g., one of sensorapplications 613 or applications 617). Activity data from these sourcescan be referred to as “third party activity data.” In some examples, inresponse to receiving third party activity data, the electronic devicecan determine whether or not to use the third party activity data toupdate the values of the physical activity attributes being monitored bythe physical activity application. This can include determining whetherthe third party activity data represents a workout monitored using anapplication other than the workout application. If it is determined thatthe third party activity data represents a workout from an applicationother than the workout application, the electronic device can determinewhether a workout monitored using the workout application (e.g.,performing process 4800) exists during the same time as the third partyactivity data workout. If it is determined that the third party activitydata represents a workout and that there is no workout monitored usingthe workout application (e.g., performing process 4800), the electronicdevice can use the third party physical activity data to update thephysical activity attributes being monitored by the physical activityapplication. This can include performing any of processes 1500, 2200,and 4000 using the third party physical activity data as the physicalactivity received at blocks 1504, 2204, or 4004.

In some examples when third party physical activity data is used toupdate the physical activity attributes being monitored by the physicalactivity application, the electronic device can distinguish the thirdparty physical activity data from physical activity data received fromthe physical activity application or the workout application. In someexamples, this can be done by displaying portions (e.g., lines) of graph4306 or 4506 in the detailed view of interface 4300 or 4500 in adifferent color if the activity data used to generate the portionsincludes third party physical activity data. For example, as shown inFIG. 78, if third party physical activity data is received for a runningworkout monitored using a third party running application that lastedfrom 2 p.m. to 3 p.m., the lines of graph 4306 in interface 4300corresponding to 2 p.m. to 3 p.m. can be displayed in a different color.Additionally, a textual label 7802 identifying the source of the thirdparty physical activity data can be displayed. In the illustratedexample, label 7802 indicates that the source of the third partyphysical activity data is the “Running Application.”

Aggregated View of Activity and Workout Data

As discussed above, the electronic device (e.g., device 100, 300, 500,or 610) can be configured to monitor attributes of a user's physicalactivity and/or workouts performed by the user using process 1500, 2200,4000, or 4800. In some examples, data representing the monitoredphysical activity or workouts can be transmitted by the electronicdevice to another user device (e.g., user device 722 or 724) or to aremote database (e.g., database 716) to allow the data to be viewed bythe other user device. In some examples, the other user device canpresent the data representing the monitored physical activity orworkouts using the same interfaces as used by the electronic device(e.g., interfaces shown in FIGS. 17-21, 23, 25-39, 41-47, and 50-77), orcan present the data using different interfaces.

FIG. 79 illustrates an example process 7900 for displaying datarepresenting a user's physical activity and/or workouts according tovarious examples. In some examples, process 7900 can be performed by anelectronic device similar to user device 722 or 724, such as a mobilephone, tablet computer, laptop computer, desktop computer, or the like.At block 7902, the electronic device can receive historical physicalactivity data from another electronic device (e.g., device 100, 300,500, or 610) or from a remote database (e.g., user database 716). Thehistorical activity data can include attributes of a user's physicalactivity from one or more days monitored using a process similar toprocess 1500, 2200, or 4000 and/or attributes of one or more of theuser's workouts monitored using a process similar to process 4800. Thehistorical physical activity data can include any of the physicalactivity data received from the physical activity sensors, values of thephysical activity and workout attributes, summaries of the physicalactivity and workouts, or the like. Some operations in process 7900 maybe combined, the order of some operations may be changed, and someoperations may be omitted.

As described below, process 7900 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 7904, the electronic device can display an aggregated view ofthe historical physical activity data. FIG. 80 illustrates an exampledaily aggregated view 8000 that can be displayed by the electronicdevice at block 7904. As shown, aggregated view 8000 can include monthselection button 8002, day selection buttons 8004, activity interfacebutton 8010, achievement interface button 8012, and share button 8014.Aggregated view 8000 can further include activity indicator 8006 andfirst partition 8008 representing physical activity data correspondingto the day selected using day selection buttons 8004 (Oct. 29, 2014).Activity indicator 8006 can be similar to the activity indicator shownin FIG. 41. For example, activity indicator 8006 can include concentricrings, with the outer ring representing a daily number of activeCalories expended, the center ring representing a daily number ofminutes spent performing physical activity above a physical activitythreshold (e.g., an intensity above a brisk walk or 3 METs), and theinner ring can represent a number of hours in the day during which theuser stood for at least 60 seconds within a 90 second segment of time.Also shown in aggregated view 8000 is a portion of first partition 8008,which can include additional information associated with the physicalactivity data represented by the outer ring of activity indicator 8006.

Note that details of the processes described above with respect toprocess 7900 (e.g., FIG. 79) are also applicable in an analogous mannerto the other processes described herein. For example, processes 1500,1600, 2200, 2400, 4000, 4800, 8600, and 9200 may include one or more ofthe characteristics of the various methods described above withreference to processes 7900. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 7900 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 4000,4800, 2200, 2400, 4000, 8600, and 9200). For brevity, these details arenot repeated.

FIG. 81 shows another view of aggregated view 8000 that can be displayedin response to a request by the user to perform a scrolling operation(e.g., by performing a swiping gesture from the bottom to the top of thetouch-sensitive display) while the view shown in FIG. 80 is displayed.As shown, the entirety of first partition 8008 can be displayed and,similar to interface 4300, can include a textual description of thecontents of the partition (“Move”), a numerical summary of theassociated physical activity data (“300/600 Calories”), a visualindicator representative of the type of the associated physical activitydata (right-facing arrow that matches the visual indicator on the outerring of activity indicator 8006), and a graphical representation of thephysical activity data. Also shown in aggregated view 8000 is a portionof second partition 8008, which can include additional informationassociated with the physical activity data represented by the centerring of activity indicator 8006.

FIG. 82 shows another view of aggregated view 8000 that can be displayedin response to a request by the user to perform a scrolling operation(e.g., by performing a swiping gesture from the bottom to the top of thetouch-sensitive display) while the view shown in FIG. 81 is displayed.As shown, the entirety of second partition 8016 can be displayed and,similar to interface 4500, can include a textual description of thecontents of the partition (“Exercise”), a numerical summary of theassociated physical activity data (“14/30 minutes”), a visual indicatorrepresentative of the type of the associated physical activity data(double right-facing arrow that matches the visual indicator on thecenter ring of activity indicator 8006), and a graphical representationof the physical activity data. Also shown in aggregated view 8000 is aportion of third partition 8018, which can include additionalinformation associated with the physical activity data represented bythe inner ring of activity indicator 8006.

FIG. 83 shows another view of aggregated view 8000 that can be displayedin response to a request by the user to perform a scrolling operation(e.g., by performing a swiping gesture from the bottom to the top of thetouch-sensitive display) while the view shown in FIG. 82 is displayed.As shown, the entirety of third partition 8018 can be displayed and,similar to interface 4700, can include a textual description of thecontents of the partition (“Stand”), a numerical summary of theassociated physical activity data (“9/12 hours”), a visual indicatorrepresentative of the type of the associated physical activity data(upward-facing arrow that matches the visual indicator on the inner ringof activity indicator 8006), and a graphical representation of thephysical activity data. Also shown in aggregated view 8000 is a portionof fourth partition 8020, which can include information associated witha recorded workout.

FIG. 84 shows another view of aggregated view 8000 that can be displayedin response to a request by the user to perform a scrolling operation(e.g., by performing a swiping gesture from the bottom to the top of thetouch-sensitive display) while the view shown in FIG. 83 is displayed.As shown, the entirety of fourth partition 8020 can be displayed and caninclude a textual description of the contents of the partition(“Workout”), a numerical summary of the workout (“2.4 mile run,”“35:00,” 498”), a visual indicator representative of the type of theassociated physical activity data (upward-facing arrow that matches thevisual indicator on the inner ring of activity indicator 8006), and agraphical representation of an attribute of the workout. Also shown inaggregated view 8000 is a portion of fifth reward partition 8022, whichcan include information associated with one or more rewards earned bythe user.

FIG. 85 shows another view of aggregated view 8000 that can be displayedin response to a request by the user to perform a scrolling operation(e.g., by performing a swiping gesture from the bottom to the top of thetouch-sensitive display) while the view shown in FIG. 84 is displayed.As shown, the entirety of fifth partition 8022 can be displayed and caninclude a textual description of the contents of the partition(“Awards”) and a visual representation of one or more awards earned bythe user. The visual representation of the one or more rewards can matchthe rewards presented to the user in the interfaces shown in FIGS.72-75. Also shown in aggregated view 8000 is a portion of sixth summarypartition 8024, which can include summary information of the user'sdaily physical activity.

In some examples, third party physical activity data can be used togenerate the historical physical activity data shown in aggregated view8000. In these examples, the third party physical activity data can bedistinguished from physical activity data received from the physicalactivity application or the workout application within aggregated view8000. For example, this can be accomplished by displaying portions(e.g., lines) of the graphs shown in partitions 8008, 8016, 8018, or8020 in a different color if the activity data used to generate theportions includes third party physical activity data in a manner similarto that shown in FIG. 78, discussed above. Additionally, a textual labelidentifying the source of the third party physical activity data can bedisplayed alongside the identified portions of the graphs correspondingto the third party physical activity data.

In some examples, some or all of the partitions shown in aggregated view8000 can be selected by a user, causing the electronic device to displayan alternate view of the selected partition that displays theinformation contained in the selected partition in a different wayand/or contains additional or different information associated with thetype of physical activity data associated with the selected partition.FIG. 86 illustrates an exemplary process 8600 for displaying analternate view of a partition that can be performed after process 7900by an electronic device similar to user device 722 or 724, such as amobile phone, tablet computer, laptop computer, desktop computer, or thelike. At block 8602, a selection of a partition of the aggregated viewcan be received. The selection can be made by a touch on atouch-sensitive display, a user contact having a characteristicintensity above an intensity threshold on a display of the device, aswipe gesture performed across the touch-sensitive display, or the like.For example, a selection of partition 8008 can be received by detectinga swipe gesture from right to left across first partition 8008 ofaggregated view 8000, shown in FIG. 81. Some operations in process 8600may be combined, the order of some operations may be changed, and someoperations may be omitted.

As described below, process 8600 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 8604, an alternate view of the selected partition can bedisplayed. Continuing with the example above, in response to detectingthe swipe gesture from right to left across first partition 8008 ofaggregated view 8000, shown in FIG. 81, an alternate first partition8708, shown in FIG. 87, can be displayed. Similar to first partition8008, alternate first partition 8708 can include a textual descriptionof the contents of the partition (“Move”), a numerical summary of theassociated physical activity data (“300/600 Calories”), and a visualindicator representative of the type of the associated physical activitydata (right-facing arrow that matches the visual indicator on the outerring of activity indicator 8006). Additionally, alternate firstpartition 8708 can include additional information in the form of adetailed breakdown of the user's daily Calorie expenditure. Whilespecific example information that can be included in alternate firstpartition 8708 is provided, it should be appreciated that any other typeof information can instead by display. First partition 8008 can again bedisplayed in response to a swipe gesture performed across alternatefirst partition 8708 from left to right.

Note that details of the processes described above with respect toprocess 8600 (e.g., FIG. 86) are also applicable in an analogous mannerto the other processes described herein. For example, processes 1500,1600, 2200, 2400, 4000, 4800, 7900, and 9200 may include one or more ofthe characteristics of the various methods described above withreference to processes 8600. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 8600 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 2200,2400, 4000, 4800, 7900, and 9200). For brevity, these details are notrepeated.

In some examples, alternate views of other partitions of aggregate view8000 can be displayed in response to a selection similar to thatdescribed above for first partition 8008. For example, in response todetecting a swipe gesture from right to left across second partition8016 of aggregated view 8000, shown in FIG. 82, an alternate secondpartition 8816, shown in FIG. 88, can be displayed. Similar to secondpartition 8016, alternate second partition 8816 can include a textualdescription of the contents of the partition (“Exercise”), a numericalsummary of the associated physical activity data (“14/30 minutes”), anda visual indicator representative of the type of the associated physicalactivity data (double right-facing arrow that matches the visualindicator on the center ring of activity indicator 8006). Additionally,alternate second partition 8816 can include additional information inthe form of a detailed breakdown of the user's daily exercise minutes.While specific example information that can be included in alternatesecond partition 8816 is provided, it should be appreciated that anyother type of information can instead by display. Second partition 8016can again be displayed in response to a swipe gesture performed acrossalternate second partition 8816 from left to right. Similar alternateviews can be displayed for any of the other partitions and can includeany desired information formatted in any desired manner.

In some examples, in response to a selection of a different dayselection button 8004, activity indicator 8006 and partitions 8008,8016, 8018, 8020, 8022, and 8024 can be replaced with an activityindicator and partitions that reflect the historical physical activitydata corresponding to the selected day. For example, in response to auser selection of “T” from day selection buttons 8004, an activityindicator and partitions representing the historical physical activitydata from Oct. 28, 2014 can be displayed.

In some examples, the electronic device can display the historicalphysical activity data in different ways. For example, FIG. 89illustrates an exemplary process 8900 that can be performed afterprocess 7900 by an electronic device similar to user device 722 or 724to display a user's historical physical activity data by month. Someoperations in process 8900 may be combined, the order of some operationsmay be changed, and some operations may be omitted.

As described below, process 8900 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 8902, a request to view a monthly aggregated view of thehistorical physical activity data can be received. In some examples, therequest can be made by a selection of month selection button 8002 inaggregated view 8000. At block 8904, the electronic device can displaythe monthly aggregated view of the historical physical activity data. Insome examples, the electronic device can display a monthly aggregatedview similar to monthly aggregated view 9000, shown in FIG. 90. Asillustrated, monthly aggregated view 9000 can include year selectionbutton 9002 for selecting a different month to view, activity interfacebutton 8010, achievement interface button 8012, and share button 8014.Monthly aggregated view 9000 can further include an activity indicator9006 for each of the days of the presently selected month (October).Activity indicator 9006 can be similar to activity indicator 8006 andthe activity indicator shown in FIG. 41 and can reflect the values ofthe represented physical activity attributes. In some examples, eachactivity indicator 9006 can include concentric rings, with the outerring representing a daily number of active Calories expended, the centerring representing a daily number of minutes spent performing physicalactivity above a physical activity threshold (e.g., an intensity above abrisk walk or 3 METs), and the inner ring can represent a number ofhours in the day during which the user stood for at least 60 secondswithin a 90 second segment of time on the corresponding day. Monthlyaggregated view 9000 advantageously allows a user to quickly view theamount of physical activity performed each day during the month.

Note that details of the processes described above with respect toprocess 8900 (e.g., FIG. 89) are also applicable in an analogous mannerto the other processes described herein. For example, processes 1500,1600, 2200, 2400, 4000, 4800, 7900, and 8600 may include one or more ofthe characteristics of the various methods described above withreference to processes 8900. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 8900 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 2200,2400, 4000, 4800, 7900, and 8600). For brevity, these details are notrepeated.

In some examples, as shown in FIG. 91, the electronic device can displayweekly goals 9102 for one of the physical activity attributesrepresented by a ring of activity indicators 9006 within monthlyaggregated view 9000. For example, weekly goals 9102 can include thedaily Calorie expenditure goal for the week and a percent change fromthe previous week's goal. In some examples, weekly goals 9102 can bedisplayed in response to a swipe gesture performed from left to rightacross monthly aggregated view 9000.

FIG. 92 illustrates an example process 9200 for displaying physicalactivity data based on an orientation of the device according to variousexamples. Process 9200 can be performed after process 8900 by anelectronic device similar to user device 722 or 724. Some operations inprocess 9200 may be combined, the order of some operations may bechanged, and some operations may be omitted.

As described below, process 9200 provides intuitive ways to monitorattributes of a user's physical activity or inactivity and generate userinterfaces for displaying the same. The process reduces the cognitiveburden on a user when monitoring attributes of the user's physicalactivity or inactivity, thereby creating a more efficient human-machineinterface. For battery-operated computing devices, enabling a user tomonitor attributes of the user's physical activity or inactivity andgenerate user interfaces for displaying the same more quickly and moreefficiently conserves power and increases the time between batterycharges.

At block 9202, a change in orientation of the device can be detected.For example, a gyroscope and/or an accelerometer within the user devicecan indicate that the orientation of the device has been changed fromportrait to landscape. In response to a detected change in orientationby a threshold amount, the process can proceed to block 9204.

At block 9204, a graph view of the historical physical activity data canbe displayed. In some examples, the graph view can be similar to graphview 9300, shown in FIG. 93. Graph view 9300 can include a line graphrepresentation 9302 of one of the attributes represented by a ring ofactivity indicators 9006. In the illustrated example, the attribute caninclude the daily number of Calories expended. Interface 9300 canfurther include “New Goal” labels identifying when the user's dailyactivity goal changed. Interface 9300 can further include monthindicator 9308 identifying the month corresponding to the displayedphysical activity data, monthly physical activity summary 9304indicating the total number of active Calories expended during themonth, and monthly workout summary 9306 indicating the total number ofworkouts recorded during the month.

Note that details of the processes described above with respect toprocess 9200 (e.g., FIG. 92) are also applicable in an analogous mannerto the other processes described herein. For example, processes 1500,1600, 2200, 2400, 4000, 4800, 7900, and 8600 may include one or more ofthe characteristics of the various methods described above withreference to processes 9200. For example, the activity data, activitytypes, displayed values and other elements described above withreference to processes 9200 optionally have one or more of thecharacteristics of the activity data, activity types, displayed valuesand other elements described herein (e.g., processes 1500, 1600, 2200,2400, 4000, 4800, 7900, and 8600). For brevity, these details are notrepeated.

In some examples, a user input can be applied to the displayed graph tocause a display of a value of line graph representation 9302 at ahorizontal position (e.g., a day) corresponding to the location of theuser input. For example, FIG. 94 shows a user input applied at location9402. In response to detecting this user input, the electronic devicecan display the date (Wednesday, October 15) and the associated value(582 Calories) for the selected day. Additionally, in some examples, ifa workout was recorded on the selected day, a brief description of theworkout can also be displayed (3 mile run). In some examples, a userinput can be continuously applied to the displayed graph and moved in ahorizontal direction to scrub through values of line graphrepresentation 9302. For example, in response to detecting that the userinput received at location 9402 is moved in the left direction, thecircle marker displayed over line graph representation 9302 can beanimated such that it appears to move along the line graphrepresentation 9302 at horizontal positions corresponding to the currenthorizontal position of the user input. Similarly, the displayed valuecan change to reflect the value of the data set represented by linegraph representation 9302 at the horizontal position of the user input.

In some examples, in response to a selection of achievement interfacebutton 8012, the device can display an achievement interface 9500similar to that shown in FIG. 95. As shown, interface 9500 can includereward icons 9502 corresponding to various achievements that can beobtained by the user, such as best workout, fastest run, longest run,exercising for 5 consecutive days, etc. In response to a selection of areward icon 9502, the device can display additional informationassociated with the reward, such as the date that the reward wasobtained, information about the workout during which the workout wasobtained, or the like. In some examples, the rewards obtained by theuser can be displayed in color, while rewards not yet obtained by theuser can be displayed as being grayed-out. The device can displayaggregated view 8000 in response to a selection of activity interfacebutton 8010.

In some examples, some or all of the information displayed in aggregatedview 8000 or achievement view 9500 can be shared with one or more otherusers or one or more social networks in response to a selection of sharebutton 8014. In some examples, the device can display a list of shareoptions in response to a user selecting share button 8014. For example,the list of share options can include the option to share the displayedinformation via SMS, email, a cloud sharing service, one or more socialnetworks, or the like. In response to a selection of one of the shareoptions, the device can transmit some or all of the informationdisplayed on the device to the selected destination.

Activity Goal Setting Assessment

In some examples, a summary interface can be displayed at the end ofeach week. The summary interface can include a text description of theuser's performance over the week with respect to one or more goals. Forexample, the summary interface can indicate the number of days duringthe week that the user met or exceeded their daily expended Calorie goal(e.g., represented by the outer ring of activity indicator 4101 or8006). In addition, the electronic device can calculate a new goal forthe user based on their performance during the week and can present thenew goal to the user. The user can accept the new goal as the goal to beused for the next week or can modify the goal up or down based on theirpreference. In some examples, during the first 3 weeks that the goal isbeing calculated, the goal can be calculated using the table shown inFIG. 96. For example, if the user achieved their goal during 1 or 2 daysduring the first or second week, the goal can be lowered to the averageof the lowest 4 days. If the user achieved their goal during 1 or 2 daysduring the third week, the goal can be lowered by 10%. If the userachieved their goal during 3 days during any of the first, second, orthird weeks and their daily average for the week was 75% or more of thegoal value, the goal can be lowered by 10%. If the user achieved theirgoal during 3 days during the first or second week and their dailyaverage for the week was less than 75% of the goal value, the goal canbe lowered to the average of the lowest 4 days. If the user achievedtheir goal during 3 days during the third week and their daily averagefor the week was less than 75% of the goal value, the goal can belowered by 10%. If the user achieved their goal during 4 days during thefirst or second week and their daily average for the week was 75% ormore of the goal value, the goal can remain the same. If the userachieved their goal during 4 days during the third week and their dailyaverage for the week was 75% or more of the goal value, the goal can beincreased by 10%. If the user achieved their goal during 4 days duringthe first or second week and their daily average for the week was lessthan 75% of the goal value, the goal can by lowered to the average ofthe lowest 3 days during the week. If the user achieved their goalduring 4 days during the third week and their daily average for the weekwas less than 75% of the goal value, the goal can be lowered by 10%. Ifthe user achieved their goal during 5-6 days during the first week, thegoal can remain the same. If the user achieved their goal during 5-6days during the second week, the goal can be raised by 10%. If the userachieved their goal during 5-6 days during the third week, the goal canremain the same. If the user achieved their goal during 7 days duringthe first or second week and their daily average for the week was 125%or more of the goal value, the goal can be increased to the average ofthe 7 days. If the user achieved their goal during 7 days during thethird week and their daily average for the week was 125% or more of thegoal value, the goal can be increased by 10%. In some examples, afterthe first 3 weeks, the goal can be lowered by 10% if the number of goaldays achieved over the last 3 weeks is equal to 9 or less, the goal canremain the same if the number of goal days achieved over the last 3weeks is equal to 10-14, and the goal can be increased by 10% if thenumber of goal days achieved over the last 3 weeks is equal to 15-21.While a specific algorithm is provided for calculating the new goalvalue, it should be appreciated that other algorithms can be used tocalculate the new goal value based on the historical performance of theuser.

In accordance with some embodiments, FIG. 97 shows a functional blockdiagram of an electronic device 9700 configured in accordance with theprinciples of the various described examples. The functional blocks ofthe device can be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the variousdescribed examples. It is understood by persons of skill in the art thatthe functional blocks described in FIG. 97 can be combined or separatedinto sub-blocks to implement the principles of the various describedexamples. Therefore, the description herein optionally supports anypossible combination or separation or further definition of thefunctional blocks described herein.

As shown in FIG. 97, electronic device 9700 can include a display unit9704 configured to display graphical objects, a sensor unit 9706configured to detect movement associated with the electronic device 9700and generate activity data based on the detected movement, a memory unit9730 configured to store values, and a processing unit 9708 coupled tosensor unit 9706, memory unit 9730, and display unit 9704. In someexamples, electronic device 9700 can include a touch-sensitive surfaceunit 9702 configured to receive user gestures and a communication unit9732 configured to receive communication; the processing unit 9708 maybe coupled to the touch-sensitive surface unit 9702. In some examples,processing unit 9708 can include a physical activity determining unit9710, a first type determining unit 9712, a first updating unit 9714, asecond type determining unit 9716, a second updating unit 9718, adisplay enabling unit 9720, tagging unit 9722, third type determiningunit 9724, third updating unit 9726, and adjusting unit 9728.

Processing unit 9708 can be configured to determine (e.g., with physicalactivity determining unit 9710), that a physical activity has beenperformed by a user wearing an electronic device based on activity datagenerated by a sensor unit 9706, determine (e.g., with first typedetermining unit 9712) whether the physical activity corresponds to afirst type based on a first set of criteria and determine (e.g., withsecond type determining unit 9716) whether the physical activitycorresponds to a second type based on a second set of criteria.Processing unit 9708 can be further configured to update (e.g., withfirst updating unit 9714), in response to determining that the physicalactivity corresponds to the first type, a first value stored in thememory unit 9730 based on the activity data, and update (e.g., withsecond updating unit 9718), in response to determining that the physicalactivity corresponds to the second type, a second value stored in thememory device. Processing unit 9708 can be further configured to enabledisplay (e.g., with display enabling unit 9720), on the display unit9704, of the first value representing an aggregate amount of the firsttype of physical activity detected from the sensor over a period oftime, and enable display (e.g., with display enabling unit 9720), on thedisplay unit 9704, of the second value representing an aggregate amountof the second type of physical activity detected from the sensor overthe period of time.

In some embodiments, the sensor unit 9706 comprises two or more sensors,

In some embodiments, the sensor unit 9706 comprises a GPS sensor, anaccelerometer, a directional sensor, a gyroscope, a timer sensor, abiometric sensor, or a motion sensor.

In some embodiments, the activity data is generated by the sensor basedon detection of one or more types of physical activity, the one or moretypes of physical activity comprising walking, running, going up stairs,or jumping.

In some embodiments, the second set of criteria comprises a number ofsteps taken per unit time.

In some embodiments, the second set of criteria comprises an amount ofCalories burned per unit time.

In some embodiments, the second set of criteria comprises a speed. Insome examples, the second set of criteria comprises the first set ofcriteria.

In some embodiments, the second type of activity is a subset of thefirst type of activity.

In some embodiments, processing unit 9708 can be further configured todetermine (e.g., with third type determining unit 9724) whether thephysical activity associated with the activity data corresponds to athird type based on a third set of criteria and, in response todetermining that the physical activity corresponds to the third type,update (e.g., with third updating unit 9726) a third value stored in thememory device based on the received activity data. Processing unit 9708can be further configured to display (e.g., with displaying unit 9720)the third value representing an aggregate amount of the third type ofphysical activity detected from the sensor over the period of time.

In some examples, the third set of criteria includes the second set ofcriteria and the first set of criteria.

In some examples, the third type of activity is a subset of the secondtype of activity and a subset of the first type of activity.

In some examples, the first value represents an aggregate amount ofCalories burned by the user from performing the first type of physicalactivity over the period of time.

In some examples, the display of the second value is indicative of anaggregate amount of time spent by the user for performing the secondtype of physical activity over the period of time.

In some examples, the first indicator and the second indicator eachcomprise an image and a text.

In some examples, the first indicator comprises a first portionrepresenting the first value and a second portion representing adifference between the first value and a first goal value stored in thememory, and the second indicator comprises a third portion representingthe second value and a fourth portion representing a difference betweenthe second value and a second goal value stored in the memory.

In some examples, the first indicator and the second indicator areconcentric rings.

In other examples, the first indicator and the second indicator areadjacent bars.

In some examples, processing unit 9708 can be further configured toautomatically adjust (e.g., using adjusting unit 9728) the first goalvalue based on a passage of time.

In some examples, the period of time is one day.

In some examples, processing unit 9708 can be further configured toreceive (e.g., using receiving unit 9730), via the communication unit9732, from an external device remotely located from the electronicdevice, activity data associated with devices different from theelectronic device.

In some example, the display unit 9704 is a touch-sensitive displayunit.

In some example, the electronic device 9700 is a watch.

The operations described above with reference to FIGS. 15 and 16 are,optionally, implemented by components depicted in FIGS. 1A-1B, and 97.For example, the operations described with reference to blocks 1504,1506, 1508, and/or 1510 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 97.

In accordance with some embodiments, FIG. 98 shows a functional blockdiagram of an electronic device 9800 configured in accordance with theprinciples of the various described examples. The functional blocks ofthe device can be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the variousdescribed examples. It is understood by persons of skill in the art thatthe functional blocks described in FIG. 98 can be combined or separatedinto sub-blocks to implement the principles of the various describedexamples. Therefore, the description herein optionally supports anypossible combination or separation or further definition of thefunctional blocks described herein.

As shown in FIG. 98, electronic device 9800 can include a sensor unit9806 configured to detect movement associated with the electronic deviceand generate activity data based on the detected movement, a displayunit 9804 configured to display graphical objects, and a processing unit9808 coupled to the sensor unit 9806, and the display unit 9804. In someexample, electronic device 9800 can include a touch-sensitive surfaceunit 9802 configured to receive user gestures and coupled to processingunit 9808. In some examples, processing unit 9808 can include areceiving unit 9810, a controlling unit 9812, a display enabling unit9814, a storing unit 9816, and a resetting unit 9818.

Processing unit 9808 can be configured to receive (e.g., using receivingunit 9810), from the sensor unit 9806, activity data that isrepresentative of physical activity performed by a user detected by thesensor, control (e.g., with controlling unit 9812) an inactivity timerthat measures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprisesresetting a value of the inactivity timer in response to determining,based on the activity data, that the user has performed a thresholdamount of activity, and enable display (e.g., with display enabling unit9814), on the display unit 9804 of an inactivity tracking interface,wherein the inactivity tracking interface comprises a visualrepresentation of the value of the inactivity timer.

In some examples, controlling the inactivity timer further comprises,after pausing the inactivity timer, updating an amount of detectedactivity to include the physical activity performed by the user.

In some examples, determining, based on the activity data, that the userhas performed the threshold amount of activity comprises determiningthat the amount of detected activity has reached the threshold amount ofactivity.

In some examples, controlling the inactivity timer further comprisesresetting the amount of detected activity in response to determiningthat the amount of the detected activity has reached the thresholdamount of activity.

In some examples, the threshold amount of activity is equal to 100steps.

In some examples, controlling the inactivity timer further comprises,after pausing the inactivity timer: resetting the amount of detectedactivity in response to determining that the user is inactive for morethan a threshold length of time; and starting the inactivity timer inresponse to determining that the user is inactive for more than thethreshold length of time.

In some examples, the inactivity tracking interface further comprises avisual representation of the amount of detected activity.

In some examples, the visual representation of the amount of detectedactivity comprises a first graphic image or a first text.

In some examples, the visual representation of the amount of detectedactivity comprises a first ring.

In some examples, the visual representation of the value of theinactivity timer comprises a second ring that is concentric to the firstring.

In some examples, the visual representation of the amount of detectedactivity comprises a first portion that is representative of the amountof detected activity and a second portion that is representative of adifference between the amount of detected activity and the thresholdamount of activity. In some examples, a ratio between a size of thefirst portion and a size of the second portion is equal to a ratiobetween the amount of detected activity and the difference between theamount of detected activity and the threshold amount of activity.

In some examples, the visual representation of the value of theinactivity timer comprises a second image or a second text.

In some examples, the inactivity tracking interface further comprises avisual representation of a value of an inactivity counter. In someexamples, controlling unit 9812 can be configured to control theinactivity timer further by, in response to the value of the inactivitytimer reaching an inactivity threshold: incrementing the value of theinactivity counter; and resetting the value of the inactivity timer.

In some examples, the inactivity threshold is equal to one hour.

In some examples, the inactivity threshold is a user-defined value.

In some examples, wherein the visual representation of the value of theinactivity timer comprises a third portion that is representative of thevalue of the inactivity timer and a fourth portion that isrepresentative of a difference between the value of the inactivity timerand the inactivity threshold. In some examples, a ratio between a sizeof the third portion and a size of the fourth portion is equal to aratio between the value of the inactivity timer and the differencebetween the value of the inactivity timer and the inactivity threshold.

In some examples, controlling unit 9812 can be configured to control theinactivity timer by: starting the inactivity timer in response todetermining that the user is inactive based on the activity data; andpausing the inactivity timer in response to determining that the user isactive based on the activity data.

In some examples, determining that the user is active comprisesdetermining that the user is walking, running, going up stairs, orjumping based on the activity data.

In some examples, determining that the user is inactive comprisesdetermining that the user is not active based on the activity data.

In some examples, processing unit 9808 can be further configured toperiodically:

-   -   store (e.g., using storing unit 9816) the value of the        inactivity counter; and reset (e.g., using resetting unit 9818),        after storing the value of the inactivity counter, the value of        the inactivity counter.

In some examples, periodically comprises once a day.

In some examples, the activity sensor comprises a global positioningsystem (GPS) sensor, pedometer, accelerometer, biometric sensor,gyroscope, or motion sensor.

The operations described above with reference to FIGS. 22 and/or 24 are,optionally, implemented by components depicted in FIGS. 1A-1B, and 98.For example, the operations described with reference to blocks 2204,2206, 2404, and/or 2416 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 98.

In accordance with some embodiments, FIG. 99 shows a functional blockdiagram of an electronic device 9900 configured in accordance with theprinciples of the various described examples. The functional blocks ofthe device can be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the variousdescribed examples. It is understood by persons of skill in the art thatthe functional blocks described in FIG. 99 can be combined or separatedinto sub-blocks to implement the principles of the various describedexamples. Therefore, the description herein optionally supports anypossible combination or separation or further definition of thefunctional blocks described herein.

As shown in FIG. 99, electronic device 9900 can include a display unit9904 configured to display graphical objects, sensor unit 9906configured to detect movement associated with the electronic device andgenerate activity data based on the detected movement, memory unit 9934configured to store values, and a processing unit 9908 coupled todisplay unit 9904, sensor unit 9906, and memory unit 9934. In someexamples, electronic device 9900 includes a touch-sensitive surface unit9902 configured to receive user gestures and a communication unit 9936configured to receive communications, both of which may be coupled toprocessing unit 9908. In some examples, processing unit 9908 can includea physical activity determining unit 9910, a first type determining unit9912, a first updating unit 9914, a second type determining unit 9916, asecond updating unit 9918, a controlling unit 9920, a display enablingunit 9922, a third type determining unit 9924, a third updating unit9926, an adjusting unit 9928, a receiving unit 9930, and a storing andresetting unit 9932.

Processing unit 9908 can be configured to determine (e.g., with physicalactivity determining unit 9910), that a physical activity has beenperformed by a user wearing an electronic device, based on activity datagenerated by the sensor unit 9906 and determine (e.g., with first typedetermining unit 9912) whether the physical activity corresponds to afirst type based on a first set of criteria and determine (e.g., withfirst type determining unit 9912) whether the physical activitycorresponds to a second type based on a second set of criteria.Processing unit 9908 can be further configured to update (e.g., withfirst updating unit 9914), in response to determining that the physicalactivity corresponds to the first type, a first value stored in thememory unit 9934 based on the activity data and update (e.g., withsecond updating unit 9918), in response to determining that the physicalactivity corresponds to the second type, a second value stored in thememory device based on the activity data. Processing unit 9908 can befurther configured to control (e.g., with controlling unit 9920) aninactivity timer that measures a length of time that the user isinactive based on the activity data, wherein controlling the inactivitytimer comprises: resetting a value of the inactivity timer in responseto determining, based on the activity data, that the user has performeda threshold amount of activity; incrementing the value of an inactivitycounter in response to the value of the inactivity timer reaching aninactivity threshold; and resetting the value of the inactivity timer inresponse to the value of the inactivity timer reaching an inactivitythreshold. Processing unit 9908 can be further configured to enabledisplay (e.g., with display enabling unit 9922) of a first indicatorrepresentative of the first value, the first value representing anaggregate amount of the first type of physical activity detected fromthe sensor over a period of time; a second indicator representative ofthe second value, the second value representing an aggregate amount ofthe second type of physical activity detected from the sensor over theperiod of time; and a third indicator representative of the value of theinactivity counter.

In some examples, the activity data is generated by the sensor based ondetection of one or more types of physical activity, the one or moretypes of physical activity comprising walking, running, going up stairs,or jumping.

In some examples, the second set of criteria comprises a number of stepstaken per unit time.

In some examples, the second set of criteria comprises an amount ofCalories burned per unit time.

In some examples, the second set of criteria comprises a speed.

In some examples, the second set of criteria comprises the first set ofcriteria.

In some examples, the second type of activity is a subset of the firsttype of activity.

In some examples, processing unit 9908 can be further configured todetermine (e.g., using third type determining unit 9924), whether thephysical activity associated with the activity data corresponds to athird type based on a third set of criteria. Processing unit 9908 can befurther configured to update (e.g., with third updating unit 9926), inresponse to determining that the physical activity corresponds to thethird type, a third value, stored in the memory device, based on thereceived activity data. Processing unit 9908 can be further configuredto enable display (e.g., with display enabling unit 9922) of a thirdindicator representing the third value, the third value representing anaggregate amount of the third type of physical activity detected fromthe sensor over the period of time.

In some examples, the third set of criteria includes the second set ofcriteria and the first set of criteria.

In some examples, the third type of activity is a subset of the secondtype of activity and a subset of the first type of activity.

In some examples, the first value represents an aggregate amount ofCalories burned by the user from performing the first type of physicalactivity over the period of time.

In some examples, the display of the second value is indicative of anaggregate amount of time spent by the user for performing the secondtype of physical activity over the period of time.

In some examples, the first indicator and the second indicator eachcomprise an image and a text.

In some examples, the first indicator comprises a first portionrepresenting the first value and a second portion representing adifference between the first value and a first goal value stored in thememory. In some examples, the second indicator comprises a third portionrepresenting the second value and a fourth portion representing adifference between the second value and a second goal value stored inthe memory.

In some examples, the first indicator and the second indicator areconcentric rings.

In some examples, the first indicator and the second indicator areadjacent bars.

In some examples, processing unit 9908 can be further configured toautomatically adjust (e.g., using adjusting unit 9928), the first goalvalue based on a passage of time.

In some examples, the period of time is one day.

In some examples, processing unit 9908 can be further configured toreceive (e.g., using receiving unit 9930), from an external deviceremotely located from the electronic device, activity data associatedwith devices different from the electronic device.

In some examples, processing unit 9908 can be further configured tocontrol (e.g., with controlling unit 9920) the inactivity timer by,after pausing the inactivity timer, updating an amount of detectedactivity to include the physical activity performed by the user.

In some examples, determining, based on the activity data, that the userhas performed the threshold amount of activity comprises determiningthat the amount of detected activity has reached the threshold amount ofactivity.

In some examples, processing unit 9908 can be further configured tocontrol (e.g., with controlling unit 9920) the inactivity timer byresetting the amount of detected activity in response to determiningthat the amount of the detected activity has reached the thresholdamount of activity.

In some examples, the threshold amount of activity is equal to 100steps.

In some examples, processing unit 9908 can be further configured tocontrol (e.g., with controlling unit 9920) the inactivity timer by,after pausing the inactivity timer: resetting the amount of detectedactivity in response to determining that the user is inactive for morethan a threshold length of time; and starting the inactivity timer inresponse to determining that the user is inactive for more than thethreshold length of time.

In some examples, the inactivity tracking interface further comprises avisual representation of the amount of detected activity.

In some examples, the visual representation of the amount of detectedactivity comprises a first graphic image or a first text.

In some examples, the visual representation of the amount of detectedactivity comprises a first ring.

In some examples, the visual representation of the value of theinactivity timer comprises a second ring that is concentric to the firstring.

In some examples, the visual representation of the amount of detectedactivity comprises a first portion that is representative of the amountof detected activity and a second portion that is representative of adifference between the amount of detected activity and the thresholdamount of activity. In some examples, a ratio between a size of thefirst portion and a size of the second portion is equal to a ratiobetween the amount of detected activity and the difference between theamount of detected activity and the threshold amount of activity.

In some examples, the visual representation of the value of theinactivity counter comprises a second image or a second text.

In some examples, the inactivity threshold is equal to one hour.

In some examples, the inactivity threshold is a user-defined value.

In some examples, the visual representation of the value of theinactivity counter comprises a third portion that is representative ofthe value of the inactivity counter and a fourth portion that isrepresentative of a difference between the value of the inactivitycounter and a length of a predetermine period of time. In some examples,a ratio between a size of the third portion and a size of the fourthportion is equal to a ratio between the value of the inactivity counterand the difference between the value of the inactivity counter and thelength of the predetermined period of time.

In some examples, processing unit 9908 can be configured to control(e.g., with controlling unit 9920) the inactivity timer by starting theinactivity timer in response to determining that the user is inactivebased on the activity data; and pausing the inactivity timer in responseto determining that the user is active based on the activity data.

In some examples, determining that the user is active comprisesdetermining that the user is standing, walking, running, going upstairs, or jumping based on the activity data.

In some examples, determining that the user is inactive comprisesdetermining that the user is not active based on the activity data.

In some examples, processing unit 9908 can be further configured tostore (e.g., using storing and resetting unit 9932) the value of theinactivity counter and reset the value of the inactivity counter afterstoring the value of the inactivity counter.

In some examples, periodically comprises once a day.

In some examples, the activity sensor comprises a global positioningsystem (GPS) sensor, pedometer, accelerometer, biometric sensor,gyroscope, or motion sensor.

The operations described above with reference to FIG. 40 are,optionally, implemented by components depicted in FIGS. 1A-1B, and 99.For example, the operations described with reference to blocks 4004,4012, and/or 4014 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 99.

FIG. 100 shows a functional block diagram of an electronic device 10000configured in accordance with the principles of the various describedexamples. The functional blocks of the device can be implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 100 can be combined or separated into sub-blocks to implement theprinciples of the various described examples. Therefore, the descriptionherein optionally supports any possible combination or separation orfurther definition of the functional blocks described herein.

As shown in FIG. 100, electronic device 10000 can include a sensor unit10006 configured to detect movement associated with the electronicdevice and generate activity data based on the detected movement, adisplay unit 10004 configured to display graphical objects, and aprocessing unit 10008 coupled to the sensor unit 10006, and the displayunit 10004. In some example, electronic device 10000 can include atouch-sensitive surface unit 10002 configured to receive user gesturescoupled to processing unit 10008. In some examples, processing unit10008 can include a displaying unit 10010, a receiving unit 10012, anupdating unit 10014, a third party receiving unit 10016, and adetermining unit 10018.

Processing unit 10008 can be configured to enable display (e.g., withdisplay enabling unit 10010), on the display unit 10004, of an activityindicator, wherein the activity indicator comprises: a first indicatorrepresentative of an aggregate amount of a first type of physicalactivity performed by a user over a period of time; a second indicatorrepresentative of an aggregate amount of a second type of physicalactivity performed by the user over a period of time; and a thirdindicator representative of an aggregate amount of a third type ofphysical activity performed by the user over a period of time.Processing unit 10008 can be further configured to receive (e.g., withreceiving unit 10012), from the sensor unit 10006, activity datarepresenting movement associated with the electronic device 10000 andupdate (e.g., with updating unit 10014) the aggregate amount of thefirst type of physical activity, the aggregate amount of the second typeof physical activity, and the aggregate amount of the third type ofphysical activity based on the activity data.

In some examples, the aggregate amount of the first type of physicalactivity comprises an amount of Calories expended by the user inperforming the first type of physical activity over the period of time.

In some examples, the aggregate amount of the second type of physicalactivity comprises a number of minutes spent by the user in performingthe second type of physical activity over the period of time.

In some examples, the aggregate amount of the third type of physicalactivity comprises a number of segments of time during which the userperformed the third type of physical activity over the period of time.

In some examples, the segments of time comprise hour-long segments oftime.

In some examples, the period of time comprises a day.

In some examples, processing unit 10008 can be further configured toupdate (e.g., with updating unit 10014) the aggregate amount of thefirst type of physical activity, the aggregate amount of the second typeof physical activity, and the aggregate amount of the third type ofphysical activity based on the activity data by: determining whether theactivity data represents the first type of physical activity based on afirst set of criteria; in response to determining that the activity datarepresents the first type of physical activity, updating the aggregateamount of the first type of physical activity based on the activitydata; determining whether the activity data represents the second typeof physical activity based on a second set of criteria; in response todetermining that the activity data represents the second type ofphysical activity, updating the aggregate amount of the second type ofphysical activity based on the activity data; determining whether theactivity data represents the third type of physical activity based on athird set of criteria; and in response to determining that the activitydata represents the third type of physical activity, updating theaggregate amount of the third type of physical activity based on theactivity data.

In some examples, the first set of criteria comprises physicalactivities detected by the electronic device.

In some examples, the second set of criteria comprises an amount ofCalories burned per unit time.

In some examples, the second set of criteria comprises a speed.

In some examples, the third set of criteria comprises a predeterminedamount of a predetermined type of physical activity.

In some examples, the predetermined amount of the predetermined type ofphysical activity comprises 60 seconds of standing within a 90 secondsegment of time.

In some examples, the first indicator comprises a first portionrepresenting the aggregate amount of the first type of physical activityand a second portion representing a difference between the aggregateamount of the first type of physical activity and a first goal value;the second indicator comprises a third portion representing theaggregate amount of the second type of physical activity and a fourthportion representing a difference between the aggregate amount of thesecond type of physical activity and a second goal value; and the thirdindicator comprises a fifth portion representing the aggregate amount ofthe third type of physical activity and a sixth portion representing adifference between the aggregate amount of the third type of physicalactivity and a third goal value.

In some examples, the first indicator, the second indicator, and thethird indicator are concentric rings.

In some examples, processing unit 10008 can be further configured toupdate the display, on the display unit 10004 of the first indicator,the second indicator, and the third indicator based on the updatedvalues of the aggregate amount of the first type of physical activity,the aggregate amount of the second type of physical activity, and theaggregate amount of the third type of physical activity based on theactivity data.

In some examples, processing unit 10008 can be further configured toreceive (e.g., with third party receiving unit 10016) activity datagenerated by an application running on the electronic device.

In some examples, processing unit 10008 can be further configured todetermine (e.g., with determining unit 10018) whether to update theaggregate amount of the first type of physical activity, the aggregateamount of the second type of physical activity, and the aggregate amountof the third type of physical activity using the activity data generatedby the application running on the electronic device. In some examples,processing unit 10008 can be further configured to update (e.g., withupdating unit 10014), in response to determining to update the aggregateamount of the first type of physical activity, the aggregate amount ofthe second type of physical activity, and the aggregate amount of thethird type of physical activity using the activity data generated by theapplication running on the electronic device 10000, the aggregate amountof the first type of physical activity, the aggregate amount of thesecond type of physical activity, and the aggregate amount of the thirdtype of physical activity using the activity data generated by theapplication running on the electronic device 10000.

The operations described above with reference to FIGS. 40 and/or 22 are,optionally, implemented by components depicted in FIGS. 1A-1B, and 100.For example, the operations described with reference to blocks 2204,2206, 2404, 2416, 4004, 4012, and/or 4014 may be implemented by eventsorter 170, event recognizer 180, and event handler 190. Event monitor171 in event sorter 170 detects a contact on touch-sensitive display112, and event dispatcher module 174 delivers the event information toapplication 136-1. A respective event recognizer 180 of application136-1 compares the event information to respective event definitions186, and determines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 100.

According to some embodiments, FIG. 101 shows a functional block diagramof an electronic device 10100 configured in accordance with theprinciples of the various described examples. The functional blocks ofthe device can be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the variousdescribed examples. It is understood by persons of skill in the art thatthe functional blocks described in FIG. 101 can be combined or separatedinto sub-blocks to implement the principles of the various describedexamples. Therefore, the description herein optionally supports anypossible combination or separation or further definition of thefunctional blocks described herein.

As shown in FIG. 101, electronic device 10100 can include one or moreactivity sensor units 10106 configured to detect activity and generateactivity data based on the detected activity, a display unit 10104configured to display graphical objects, and a processing unit 10108coupled to the one or more activity sensor units 10106, and the displayunit 10104. In some example, electronic device 10100 can include atouch-sensitive surface unit 10102 configured to receive user gesturescoupled to processing unit 10108. In some examples, processing unit10108 can include an ID receiving unit 10110, a goal receiving unit10112, a current value determining unit 10114, a displaying unit 10116,a determining unit 10118, a time indicator display enabling unit 10120,an updating unit 10122, a reference indicator display enabling unit10124, a notification display enabling unit 10126, an activating unit10128, a receiving unit 10130, and a transmitting unit 10132.

Processing unit 10108 can be configured to receive (e.g., using IDreceiving unit 10110) an identification of a type of workout to beperformed, wherein the type of workout is associated with a plurality ofworkout attributes, receive (e.g., with goal receiving unit 10112) agoal for the type of workout, wherein the goal comprises anidentification of a first workout attribute of the plurality of workoutattributes and a goal value for the first workout attribute, determine(e.g., with current value determining unit 10114) a current value of thefirst workout attribute and a current value of a second workoutattribute of the plurality of workout attributes based on activity datafrom one or more activity sensor units 10106, enable display (e.g., withdisplay enabling unit 10116), on display unit 10104, of a firstindicator representative of the current value of the first workoutattribute relative to the goal value for the first workout attribute,and enable display (e.g., with display enabling unit 10116), on displayunit 10104, of a second indicator representative of the current value ofthe second workout attribute.

In some examples, processing unit 10108 can be further configured toreceive (e.g., with ID receiving unit 10110) the identification of thetype of workout to be performed by: displaying a list of a plurality oftypes of workouts; and receiving a selection of the type of workout tobe performed from the displayed list of the plurality of types ofworkouts.

In some examples, the list of the plurality of types of workouts isordered based on a frequency of performance of the plurality ofworkouts.

In some examples, the list of the plurality of types of workouts isordered based on a time since a performance of the plurality ofworkouts.

In some examples, the list of the plurality of types of workoutscomprises a selectable object associated with each type of workout.

In some examples, a size of each of the selectable objects is the same.

In some examples, a size of a selectable object associated with a mostrecently performed type of workout is larger than a size of selectableobjects associated with other types of workouts of the plurality oftypes of workouts.

In some examples, a size of a selectable object associated with a mostfrequently performed type of workout is larger than a size of selectableobjects associated with other types of workouts of the plurality oftypes of workouts.

In some examples, the one or more activity sensor units 10106 comprisesone or more of a GPS sensor, an accelerometer, a directional sensor, agyroscope, a timer, a biometric sensor, and a motion sensor.

In some examples, processing unit 10108 can be further configured toreceive (e.g., with goal receiving unit 10112) the goal for the type ofworkout by: displaying an adjustable value associated with the firstworkout attribute; receiving a selection of the adjustable value; andsetting the goal value for the first workout attribute to be equal tothe adjustable value.

In some examples, processing unit 10108 can be further configured toreceive (e.g., with goal receiving unit 10112) the goal for the type ofworkout by: displaying a list of a plurality of values associated withthe first workout attribute; receiving a selection of a value of theplurality of values; and setting the goal value for the first workoutattribute to be equal to the selected value of the plurality of values.

In some examples, the type of workout comprises running, walking,cycling, rowing, yoga, dancing, climbing, swimming, or cross-training.

In some examples, the plurality of workout attributes comprises aduration, a pace, a distance, or a number of Calories expended.

In some examples, the first indicator comprises a first portionrepresenting the current value of the first workout attribute and asecond portion representing a difference between the current value ofthe first workout attribute and the first goal value for the firstworkout attribute.

In some examples, the first workout attribute is different than thesecond workout attribute.

In some examples, the first workout attribute is the same as the secondworkout attribute.

In some examples, processing unit 10108 can be further configured toenable display (e.g., using time indicator display enabling unit 10120)of a time indicator.

In some examples, the time indicator represents a current time.

In some examples, the time indicator represents a duration or a paceassociated with the type of workout.

In some examples, processing unit 10108 can be further configured toupdate (e.g., using updating unit 10122) the display of the timeindicator to represent a time other than the current time in response toreceiving a selection of the time indicator.

In some examples, the first indicator is displayed in a first colorassociated with the first workout attribute, and wherein the secondindicator is displayed in a second color associated with the secondworkout attribute.

In some examples, processing unit 10108 can be further configured toupdate (e.g., with second indicator updating unit 10124) the display ofthe second indicator to represent a third workout attribute of theplurality of workout attributes in response to receiving a request tochange the second indicator.

In some examples, processing unit 10108 can be further configured toenable display (e.g., with reference indicator display enabling unit10124) of a reference indicator representing a pace associated with aprevious workout.

In some examples, processing unit 10108 can be further configured toenable display (e.g., with notification display enabling unit 10126) ofa notification in response to a current value of one or more of theplurality of attributes meeting a predetermined criteria.

In some examples, processing unit 10108 can be further configured toactivate (e.g., with activating unit 10128) the at least a portion ofthe one or more activity sensor units 10106 based on the receivedidentification of the type of workout to be performed.

In some examples, processing unit 10108 can be further configured toreceive (e.g., with receiving unit 10130) updated activity data from theat least a portion of the one or more activity sensor units 10106. Insome examples, processing unit 10108 can be further configured to update(e.g., with updating unit 10122) the current value of the first workoutattribute and the current value of the second workout attribute based onthe updated activity data.

In some examples, processing unit 10108 can be further configured toupdate (e.g., with updating unit 10122) the display of the firstindicator and the second indicator based on the updated current value ofthe first workout attribute and the updated current value of the secondworkout attribute.

In some examples, processing unit 10108 can be further configured toenable display (e.g., with display enabling unit 10116) of a summaryinterface comprising information associated with the plurality ofworkout attributes.

In some examples, processing unit 10108 can be further configured todetermine (e.g., with determining unit 10118) whether one or more of theplurality of workout attributes satisfies a predetermined criteria. Insome examples, processing unit 10108 can be further configured to enabledisplay (e.g., with displaying unit 10116) of a reward in response todetermining that the one or more of the plurality of workout attributessatisfies the predetermined criteria.

In some examples, processing unit 10108 can be further configured toreceive (e.g., with receiving unit 10130) a request to share the reward.In some examples, processing unit 10108 can be further configured toenable display (e.g., with display enabling unit 10116) of a list ofpotential rewards. In some examples, processing unit 10108 can befurther configured to receive (e.g., with receiving unit 10130) aselection of a recipient from the list of potential recipients from thelist of potential recipients. In some examples, processing unit 10108can be further configured to transmit (e.g., with transmitting unit10132) the reward to the selected recipient.

In some examples, the display of the list of potential recipientscomprises an image of each of the potential recipients.

The operations described above with reference to FIG. 48 are,optionally, implemented by components depicted in FIGS. 1A-1B, and 101.For example, the operations described with reference to blocks 4804,4808, 4810, and/or 4812 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 101.

FIG. 102 shows a functional block diagram of an electronic device 10200configured in accordance with the principles of the various describedexamples. The functional blocks of the device can be implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 102 can be combined or separated into sub-blocks to implement theprinciples of the various described examples. Therefore, the descriptionherein optionally supports any possible combination or separation orfurther definition of the functional blocks described herein.

As shown in FIG. 102, electronic device 10200 can include a display unit10204 configured to display graphical objects, a touch-sensitive surfaceunit 10202 configured to receive user gestures, and a processing unit10208 coupled to the display unit 10204 and optional touch-sensitivesurface unit 10202. In some examples, processing unit 10208 can includea receiving unit 10210, a display enabling unit 10212, a selectionreceiving unit 10214, a replacing unit 10216, a request receiving unit10218, a detecting unit 10220, and an achievement request receiving unit10222.

Processing unit 10208 can be configured to receive (e.g., usingreceiving unit 10210) historical activity data representing physicalactivity performed by a user and enable display (e.g., with displayenabling unit 10212) of an aggregated view of the historical activitydata, wherein the aggregate view comprises: an activity indicatorcomprising: a first indicator representative of an aggregate amount of afirst type of physical activity performed by a user during a period oftime; a second indicator representative of an aggregate amount of asecond type of physical activity performed by the user during the periodof time; and a third indicator representative of an aggregate amount ofa third type of physical activity performed by the user during theperiod of time; and one or more partitions associated with the first,second, or third type of physical activity.

In some examples, the aggregate amount of the first type of physicalactivity comprises an amount of Calories expended by the user inperforming the first type of physical activity over a period of time.

In some examples, the aggregate amount of the second type of physicalactivity comprises a number of minutes spent by the user in performingthe second type of physical activity over the period of time.

In some examples, the aggregate amount of the third type of physicalactivity comprises a number of segments of time during which the userperformed the third type of physical activity over the period of time.

In some examples, the segments of time comprise hour-long segments oftime. In some examples, the period of time comprises a day.

In some examples, the one or more partitions comprises: a firstpartition associated with the first type of physical activity, the firstpartition comprising a textual representation of the aggregate amount ofthe first type of physical activity performed by the user during theperiod of time and a graph representation of the first type of physicalactivity performed by the user during the period of time; a secondpartition associated with the second type of physical activity, thesecond partition comprising a textual representation of the aggregateamount of the second type of physical activity performed by the userduring the period of time and a graph representation of the second typeof physical activity performed by the user during the period of time;and a third partition associated with the third type of physicalactivity, the third partition comprising a textual representation of theaggregate amount of the third type of physical activity performed by theuser during the period of time and a graph representation of the thirdtype of physical activity performed by the user during the period oftime.

Processing unit 10208 can be further configured to receive (e.g., withselection receiving unit 10214) a selection of the first, second, orthird partition. In some examples, replacing unit 10216 can beconfigured to replace the selected partition with an alternate view ofthe selected partition in response to receiving the selection of thefirst, second, or third partition.

In some examples, the alternate view of the selected partition comprisesadditional information from that displayed within the selectedpartition.

In some examples, the aggregated view of the historical activity datafurther comprises a workout partition associated with a workoutperformed by the user.

In some examples, the workout partition comprises: a textual descriptionof the workout; a textual representation of a time spent performing theworkout; a textual representation of a number of Calories expendedperforming the workout; and a graph representation of an attribute ofthe workout.

In some examples, the aggregated view of the historical activity datafurther comprises a reward partition comprising one or more rewardsobtained by the user during the period of time.

In some examples, the aggregated view of the historical activity datafurther comprises a summary partition comprising a textualrepresentation of a number of steps taken by the user and a distancetraveled by the user during the period of time.

In some examples, the first indicator, the second indicator, and thethird indicator are concentric rings.

In some examples, processing unit 10208 can be further configured toreceive (e.g., with request receiving unit 10218) a request to view amonthly aggregated view of the historical activity data for a month. Insome examples, processing unit 10208 can be further configured to enabledisplay (e.g., with display enabling unit 10212) of the monthlyaggregated view of the historical activity data for the month inresponse to receiving the request to view the monthly aggregated view ofthe historical activity data for the month.

In some examples, the monthly aggregated view of the historical activitydata for the month comprises: one or more daily activity indicators,wherein each of the one or more daily activity indicators is associatedwith a day of the month, and wherein each of the one or more dailyactivity indicators comprises: a first indicator representative of anaggregate amount of a first type of physical activity performed by theuser during the associated day; a second indicator representative of anaggregate amount of a second type of physical activity performed by theuser during the associated day; and a third indicator representative ofan aggregate amount of a third type of physical activity performed bythe user during the associated day.

In some examples, processing unit 10208 can be further configured todetect (e.g., with detecting unit 10220) a change in orientation of theelectronic device while the monthly aggregated view of the historicalactivity data for the month is being displayed. In some examples,processing unit 10208 can be further configured to enable display (e.g.,with display enabling unit 10212) of a graph view of the historicalactivity data for the month in response to detecting the change inorientation of the electronic device while the monthly aggregated viewof the historical activity data for the month is being displayed.

In some examples, the graph view comprises a line graph of the aggregateamount of the first type of physical activity performed by the user fortwo or more days during the month.

In some examples, the graph view comprises a textual description of anumber of Calories burned during the month and a textual description ofa number of workouts performed during the month.

In some examples, the graph view comprises a textual description of aworkout performed during the month.

In some examples, processing unit 10208 can be further configured toreceive (e.g., with achievement request receiving unit 10222) anachievement interface comprising one or more rewards obtained by theuser. In some examples, processing unit 10208 can be further configuredto enable display (e.g., with display enabling unit 10212) of theachievement interface comprising one or more rewards obtained by theuser in response to receiving the request to view the achievementinterface comprising one or more rewards obtained by the user.

The operations described above with reference to FIGS. 79, 86, and/or 92are, optionally, implemented by components depicted in FIGS. 1A-1B, and101. For example, the operations described with reference to blocks7902, 8602, and/or 8902 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B, and 101.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the techniques and their practical applications. Othersskilled in the art are thereby enabled to best utilize the techniquesand various embodiments with various modifications as are suited to theparticular use contemplated.

Although the disclosure and examples have been fully described withreference to the accompanying figures, it is to be noted that variouschanges and modifications will become apparent to those skilled in theart. Such changes and modifications are to be understood as beingincluded within the scope of the disclosure and examples as defined bythe claims.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to improve thedelivery to users of invitational content or any other content that maybe of interest to them. The present disclosure contemplates that in someinstances, this gathered data may include personal information data thatuniquely identifies or can be used to contact or locate a specificperson. Such personal information data can include demographic data,location-based data, telephone numbers, email addresses, home addresses,or any other identifying information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used todeliver targeted content that is of greater interest to the user.Accordingly, use of such personal information data enables calculatedcontrol of the delivered content. Further, other uses for personalinformation data that benefit the user are also contemplated by thepresent disclosure.

The present disclosure further contemplates that the entitiesresponsible for the collection, analysis, disclosure, transfer, storage,or other use of such personal information data will comply withwell-established privacy policies and/or privacy practices. Inparticular, such entities should implement and consistently use privacypolicies and practices that are generally recognized as meeting orexceeding industry or governmental requirements for maintaining personalinformation data private and secure. For example, personal informationfrom users should be collected for legitimate and reasonable uses of theentity and not shared or sold outside of those legitimate uses. Further,such collection should occur only after receiving the informed consentof the users. Additionally, such entities would take any needed stepsfor safeguarding and securing access to such personal information dataand ensuring that others with access to the personal information dataadhere to their privacy policies and procedures. Further, such entitiescan subject themselves to evaluation by third parties to certify theiradherence to widely accepted privacy policies and practices.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof advertisement delivery services, the present technology can beconfigured to allow users to select to “opt in” or “opt out” ofparticipation in the collection of personal information data duringregistration for services. In another example, users can select not toprovide location information for targeted content delivery services. Inyet another example, users can select to not provide precise locationinformation, but permit the transfer of location zone information.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data. For example, content can beselected and delivered to users by inferring preferences based onnon-personal information data or a bare minimum amount of personalinformation, such as the content being requested by the deviceassociated with a user, other non-personal information available to thecontent delivery services, or publically available information.

What is claimed is:
 1. A non-transitory computer-readable storage mediumstoring one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device, cause the device to: determine that a physicalactivity has been performed by a user wearing an electronic device,based on activity data generated by a sensor of the electronic device;determine whether the physical activity corresponds to a first typebased on a first set of criteria and determining whether the physicalactivity corresponds to a second type based on a second set of criteria;in response to determining that the physical activity corresponds to thefirst type, update a first value, store in a memory device, based on theactivity data; in response to determining that the physical activitycorresponds to the second type, update a second value, stored in thememory device, based on the activity data; control an inactivity timerthat measures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises: reseta value of the inactivity timer in response to determining, based on theactivity data, that the user has performed a threshold amount ofactivity; increment the value of an inactivity counter in response tothe value of the inactivity timer reaching an inactivity threshold; andreset the value of the inactivity timer in response to the value of theinactivity timer reaching an inactivity threshold; and display: a firstindicator representative of the first value, the first valuerepresenting an aggregate amount of the first type of physical activitydetected from the sensor over a period of time; a second indicatorrepresentative of the second value, the second value representing anaggregate amount of the second type of physical activity detected fromthe sensor over the period of time; and a third indicator representativeof the value of the inactivity counter.
 2. The non-transitorycomputer-readable storage medium of claim 1, wherein the activity datais generated by the sensor based on detection of one or more types ofphysical activity, the one or more types of physical activity comprisingwalking, running, going up stairs, or jumping.
 3. The non-transitorycomputer-readable storage medium of claim 1, wherein the second set ofcriteria comprises a number of steps taken per unit time.
 4. Thenon-transitory computer-readable storage medium of claim 1, wherein thesecond set of criteria comprises an amount of Calories burned per unittime.
 5. The non-transitory computer-readable storage medium of claim 1,wherein the second set of criteria comprises a speed.
 6. Thenon-transitory computer-readable storage medium of claim 1, wherein thesecond set of criteria comprises the first set of criteria.
 7. Thenon-transitory computer-readable storage medium of claim 1, wherein thesecond type of activity is a subset of the first type of activity. 8.The non-transitory computer-readable storage medium of claim 1, whereinthe non-transitory computer-readable storage medium further comprisesinstructions, which when executed by the one or more processors of theelectronic device, cause the device to: determine whether the physicalactivity associated with the activity data corresponds to a third typebased on a third set of criteria; in response to determining that thephysical activity corresponds to the third type, update a third value,stored in the memory device, based on the received activity data; anddisplay a third indicator representing the third value, the third valuerepresenting an aggregate amount of the third type of physical activitydetected from the sensor over the period of time.
 9. The non-transitorycomputer-readable storage medium of claim 8, wherein the third set ofcriteria includes the second set of criteria and the first set ofcriteria.
 10. The non-transitory computer-readable storage medium ofclaim 9, wherein the third type of activity is a subset of the secondtype of activity and a subset of the first type of activity.
 11. Thenon-transitory computer-readable storage medium of claim 1, wherein thefirst value represents an aggregate amount of Calories burned by theuser from performing the first type of physical activity over the periodof time.
 12. The non-transitory computer-readable storage medium ofclaim 1, wherein the display of the second value is indicative of anaggregate amount of time spent by the user for performing the secondtype of physical activity over the period of time.
 13. Thenon-transitory computer-readable storage medium of claim 9, wherein: thefirst indicator comprises a first portion representing the first valueand a second portion representing a difference between the first valueand a first goal value stored in the memory; and the second indicatorcomprises a third portion representing the second value and a fourthportion representing a difference between the second value and a secondgoal value stored in the memory.
 14. The non-transitorycomputer-readable storage medium of claim 1, wherein the first indicatorand the second indicator are concentric rings.
 15. The non-transitorycomputer-readable storage medium of claim 13, wherein the non-transitorycomputer-readable storage medium further comprises instructions, whichwhen executed by the one or more processors of the electronic device,cause the device to: automatically adjust the first goal value based ona passage of time.
 16. The non-transitory computer-readable storagemedium of claim 1, wherein the non-transitory computer-readable storagemedium further comprises instructions, which when executed by the one ormore processors of the electronic device, cause the device to: receivefrom an external device remotely located from the electronic device,activity data associated with devices different from the electronicdevice.
 17. The non-transitory computer-readable storage medium of claim1, wherein the instructions of the non-transitory computer-readablestorage medium are implemented by one or more processors included in awatch.
 18. The non-transitory computer-readable storage medium of claim1, wherein the non-transitory computer-readable storage medium furthercomprises instructions for controlling the inactivity timer, which whenexecuted by the one or more processors of the electronic device, causethe device to: after pausing the inactivity timer, update an amount ofdetected activity to include the physical activity performed by theuser.
 19. The non-transitory computer-readable storage medium of claim18, wherein determining, based on the activity data, that the user hasperformed the threshold amount of activity comprises determining thatthe amount of detected activity has reached the threshold amount ofactivity.
 20. The non-transitory computer-readable storage medium ofclaim 18, wherein the non-transitory computer-readable storage mediumfurther comprises instructions for controlling the inactivity timer,which when executed by the one or more processors of the electronicdevice, cause the device to: reset the amount of detected activity inresponse to determining that the amount of the detected activity hasreached the threshold amount of activity.
 21. The non-transitorycomputer-readable storage medium of claim 18, wherein the non-transitorycomputer-readable storage medium further comprises instructions forcontrolling the inactivity timer, which when executed by the one or moreprocessors of the electronic device, cause the device to: after pausingthe inactivity timer: in response to determining that the user isinactive for more than a threshold length of time, reset the amount ofdetected activity; and in response to determining that the user isinactive for more than the threshold length of time, start theinactivity timer.
 22. The non-transitory computer-readable storagemedium of claim 1, wherein the inactivity threshold is equal to onehour.
 23. The non-transitory computer-readable storage medium of claim1, wherein the non-transitory computer-readable storage medium furthercomprises instructions for controlling the inactivity timer, which whenexecuted by the one or more processors of the electronic device, causethe device to: start the inactivity timer in response to determiningthat the user is inactive based on the activity data; and pause theinactivity timer in response to determining that the user is activebased on the activity data.
 24. The non-transitory computer-readablestorage medium of claim 23, wherein determining that the user is activecomprises determining that the user is standing, walking, running, goingup stairs, or jumping based on the activity data.
 25. The non-transitorycomputer-readable storage medium of claim 23, wherein determining thatthe user is inactive comprises determining that the user is not activebased on the activity data.
 26. The non-transitory computer-readablestorage medium of claim 1, wherein the non-transitory computer-readablestorage medium further comprises instructions, which when executed bythe one or more processors of the electronic device, cause the deviceto: periodically: store the value of the inactivity counter; and afterstoring the value of the inactivity counter, reset the value of theinactivity counter.
 27. The non-transitory computer-readable storagemedium of claim 26, wherein periodically comprises once a day.
 28. Thenon-transitory computer-readable storage medium of claim 1, wherein theactivity sensor comprises a global positioning system (GPS) sensor,pedometer, accelerometer, biometric sensor, gyroscope, or motion sensor.29. An electronic device, comprising: one or more processors; a memory;and one or more programs, wherein the one or more programs are stored inthe memory and configured to be executed by the one or more processors,the one or more programs including instructions for: determining that aphysical activity has been performed by a user wearing an electronicdevice, based on activity data generated by a sensor of the electronicdevice; determining whether the physical activity corresponds to a firsttype based on a first set of criteria and determining whether thephysical activity corresponds to a second type based on a second set ofcriteria; in response to determining that the physical activitycorresponds to the first type, updating a first value, stored in amemory device, based on the activity data; in response to determiningthat the physical activity corresponds to the second type, updating asecond value, stored in the memory device, based on the activity data;controlling an inactivity timer that measures a length of time that theuser is inactive based on the activity data, wherein controlling theinactivity timer comprises: resetting a value of the inactivity timer inresponse to determining, based on the activity data, that the user hasperformed a threshold amount of activity; incrementing the value of aninactivity counter in response to the value of the inactivity timerreaching an inactivity threshold; and resetting the value of theinactivity timer in response to the value of the inactivity timerreaching an inactivity threshold; and displaying: a first indicatorrepresentative of the first value, the first value representing anaggregate amount of the first type of physical activity detected fromthe sensor over a period of time; a second indicator representative ofthe second value, the second value representing an aggregate amount ofthe second type of physical activity detected from the sensor over theperiod of time; and a third indicator representative of the value of theinactivity counter.
 30. A computer-implemented method comprising:determining, using one or more processors, that a physical activity hasbeen performed by a user wearing an electronic device, based on activitydata generated by a sensor of the electronic device; determining whetherthe physical activity corresponds to a first type based on a first setof criteria and determining whether the physical activity corresponds toa second type based on a second set of criteria; in response todetermining that the physical activity corresponds to the first type,updating a first value, stored in a memory device, based on the activitydata; in response to determining that the physical activity correspondsto the second type, updating a second value, stored in the memorydevice, based on the activity data; controlling an inactivity timer thatmeasures a length of time that the user is inactive based on theactivity data, wherein controlling the inactivity timer comprises:resetting a value of the inactivity timer in response to determining,based on the activity data, that the user has performed a thresholdamount of activity; incrementing the value of an inactivity counter inresponse to the value of the inactivity timer reaching an inactivitythreshold; and resetting the value of the inactivity timer in responseto the value of the inactivity timer reaching an inactivity threshold;and displaying: a first indicator representative of the first value, thefirst value representing an aggregate amount of the first type ofphysical activity detected from the sensor over a period of time; asecond indicator representative of the second value, the second valuerepresenting an aggregate amount of the second type of physical activitydetected from the sensor over the period of time; and a third indicatorrepresentative of the value of the inactivity counter.